ASP.Net Core OData 8查询选项在Swagger UI中不显示。
创始人
2024-09-15 10:00:35
0

要在Swagger UI中显示ASP.Net Core OData 8查询选项,可以按照以下步骤进行设置:

  1. 确保已安装以下NuGet包:

    • Microsoft.AspNetCore.OData版本8或更高
    • Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer版本5或更高
  2. 在Startup.cs文件中的ConfigureServices方法中,添加以下代码行来启用OData服务和Swagger生成器:

services.AddControllers(mvcOptions =>
{
    mvcOptions.EnableEndpointRouting = false;
}).AddOData(options =>
{
    options.AddRouteComponents("odata", GetEdmModel());
}).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "OData API", Version = "v1" });
    c.EnableAnnotations();
    c.MapType(() => new OpenApiSchema { Type = "object" });
});
  1. 在Configure方法中添加以下代码行,以启用Swagger UI:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "OData API V1");
    c.DefaultModelsExpandDepth(-1);
});
  1. 在ConfigureServices方法中,定义一个函数GetEdmModel来获取OData模型。这个函数应返回一个IEdmModel对象,其中包含你的OData实体集合和操作的定义。例如:
private static IEdmModel GetEdmModel()
{
    var builder = new ODataConventionModelBuilder();
    builder.EntitySet("Products");
    builder.EntitySet("Categories");
    // 添加其他实体集合和操作

    return builder.GetEdmModel();
}
  1. 在你的控制器类上,使用[EnableQuery]特性来启用OData查询选项。例如:
[ApiController]
[Route("odata/[controller]")]
[EnableQuery]
public class ProductsController : ControllerBase
{
    // 控制器方法
}

完成上述步骤后,重新启动应用程序并访问Swagger UI,你应该能够看到OData查询选项。

相关内容

热门资讯

做出回应!德普之星透视辅助,德... 做出回应!德普之星透视辅助,德普辅助软件,确实确实有挂(有挂规律)1、实时德普之星透视辅助透视辅助更...
总结辅助挂!哈糖大菠萝软件下载... 总结辅助挂!哈糖大菠萝软件下载,智星菠萝有挂吗,本来是真的有挂(有挂功能)1、智星菠萝有挂吗公共底牌...
今日!hardrock作弊,智... 今日!hardrock作弊,智星菠萝有挂吗,真是存在有挂(有挂方式)1、该软件可以轻松地帮助玩家将智...
为了进一步!pokemmo辅助... 为了进一步!pokemmo辅助官网,如何下载德普之星辅助软件,竟然确实有挂(有挂方略)1、上手简单,...
2026版教程!werplan... 您好,德普之星透视这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...
2026版教学!wepoker... 2026版教学!wepoker私人局辅助器怎么用,德普之星怎么设置埋牌,本来是真的有挂(真的有挂)该...
攻略辅助挂!hh poker插... 攻略辅助挂!hh poker插件下载,德扑之星透视,切实真的有挂(有挂头条)一、德扑之星透视游戏安装...
刚刚!wepoker究竟有没有... 刚刚!wepoker究竟有没有透视,德普之星私人局透视,一直存在有挂(有挂实锤)1、德普之星私人局透...
2026版软件!wejoker... 2026版软件!wejoker免费脚本,德普之星怎么开辅助,都是是真的有挂(有人有挂)1、许多玩家不...
今年以来!we-poker辅助... 今年以来!we-poker辅助器,德扑之星透视软件免费入口官网,都是确实有挂(有挂教学)德扑之星透视...