this error occurred and I tries all the possible solutions on all sites and still not working I tries swaggeroperation I tries Route I tries HttpGet("List/{id}") nothing worked for me Error details are:
An unhandled exception has occurred while executing the request.
Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - MandobX.API.Controllers.ShipmentOperationsController.GetShipmentOperations (MandobX.API). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository)
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository)
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
My code: controllers Actions:
//Get lists of drivers, regions and packagges type to create shipment operation
[Route("Init")]
[HttpGet]
public async Task<IActionResult> InitShipment()
{
ShipmentViewModel shipmentInitViewModel = new ShipmentViewModel
{
Drivers = await _context.Drivers.Include(d => d.User).Include(d => d.Vehicle).ToListAsync(),
PackageTypes = await _context.PackageTypes.ToListAsync(),
Regions = await _context.Regions.ToListAsync()
};
return Ok(new Response { Code = "200", Data = shipmentInitViewModel, Msg = "Task Completed Succesfully", Status = "1" });
}
// GET: api/ShipmentOperations
[SwaggerOperation("List")]
[Route("List")]
[HttpGet("List/{userId}")]
public async Task<ActionResult<IEnumerable<ShipmentOperation>>> GetShipmentOperations()
{
return await _context.ShipmentOperations.ToListAsync();
}
[SwaggerOperation("Details")]
[Route("Details")]
[HttpGet("Details/{id}")]
public async Task<ActionResult<ShipmentOperation>> GetShipmentOperation(string id)
{
var shipmentOperation = await _context.ShipmentOperations.FindAsync(id);
if (shipmentOperation == null)
{
return NotFound();
}
return shipmentOperation;
}
Can anyone help me with that?