Невозможно загрузить документацию Swagger API с контроллером ODATA - PullRequest
0 голосов
/ 26 сентября 2019

Мы пытаемся сгенерировать 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"Мы что-то упустили?

...