c# - 带有 OData 控制器的 Swashbuckle
问题描述
我在用:
- ASP.NET 核心 2.1
- 数据
- Swashbuckle.AspNetCore (3.0.0)
我正在尝试将 swashbuckle 用于 odata,当我添加值控制器时,我收到此错误:
如果我删除值控制器,我会大摇大摆地得到这个:
public void ConfigureServices(IServiceCollection services)
{
services.AddLogging();
services.AddOData();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "OData API", Version = "v1" });
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Data.Core.Repository.LoggerFactory = LoggerFactory;
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseCors();
app.UseODataBatching();
app.UseMvc(r => {
var builder = new ODataConventionModelBuilder()
{
//Namespace = "OData",
};
var eb = builder.EntitySet<Employee1>(nameof(Employee1));
eb = builder.EntitySet<Employee1>(nameof(Employee2));
eb = builder.EntitySet<Employee1>(nameof(Employee3));
var model = builder.GetEdmModel();
r.Count().Filter().OrderBy().Expand().Select().MaxTop(null);
r.MapODataServiceRoute("odata", null, model, new DefaultODataBatchHandler());
r.EnableDependencyInjection();
});
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "swagger";
c.SwaggerEndpoint("/swagger/v1/swagger.json", "OData API V1");
});
app.UseAuthentication();
Mapper.Initialize(cfg => {
cfg.AddProfiles(typeof(Startup));
});
}
解决方案
推荐阅读
- metadata - 视频文件的元数据信息..请告知
- c++ - c++ libdl.so:无法在 32 位应用程序中打开共享库
- c# - 事务 - 实体框架 5
- python - 如果夹具中存在异常,则 Pytest 类级别夹具针对每个方法运行
- php - 如何获取由 Carbon::parse() 解析日期时间字符串的格式说明符
- c++ - 将代码编译为库时未在工厂中注册的对象,但可以独立运行
- asp.net-mvc - 使用模型和 id 路由到 POST 方法
- scala - 如何使用来自 scala 2.11 的 java 8 的流收集?
- python-3.x - 捕获 FutureWarning 的来源(导入)
- django - ValueError:视图 Account.views.Login 未返回 HttpResponse 对象。它返回 None 而不是