我们正在尝试使用OData和NSwag生成摇摇欲坠的UI,但最终遇到了很多问题。
我们使用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/{documentName}/swagger.json”的错误
我们错过了什么吗?