Мы пытаемся сгенерировать swagger UI с OData и NSwag, но мы столкнулись с множеством проблем.Мы используем контроллеры OData вместо ControllerBase
Конфигурация файла запуска
services.AddOData(); services.AddSwaggerDocument();
Метод настройки запуска
app.UseMvc(builder =>
{
builder.Select().Filter().Expand().MaxTop(1000).Count();
builder.MapODataServiceRoute("ODataRoutes", "api/v1", GetEdmModel(app.ApplicationServices));
builder.EnableDependencyInjection();
});
app.UseSwagger();
app.UseSwaggerUi3();
мы используем контроллер значений, наследующий ODataController
[Route("api/[controller]")]
[ApiController]
public class ValuesController : Microsoft.AspNet.OData.ODataController
{
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
// GET api/values/5
[HttpGet("{id}")]
public ActionResult<string> Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post([FromBody] string value)
{
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody] string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
Мы получаем сообщение об ошибке типа "/swagger/ enjdocumentName‹/swagger.json"Мы что-то упустили?