- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将我的 asp.net 核心应用程序更新到 v3.1,并将我的 Swagger 表单 v5.04 rc 更新到 v5.0,然后一切都停止了。 API 正在运行,但我无法生成 swagger 文件,但我可以。
这是我的 Swagger 配置。
public static class SwaggerConfig
{
[Obsolete]
public static void ConfigureSWAGGER(this IServiceCollection serviceColletion)
{
if (serviceColletion == null)
{
throw new ArgumentNullException(nameof(serviceColletion));
}
// Use http://localhost:5000/swagger/ui/index to inspect API docs
serviceColletion.AddSwaggerGen(x =>
{
x.SwaggerDoc(Constatns.BackofficeSwaggerGroup, new OpenApiInfo { Title = "Portal Nekretnine - Backoffice", Version = Constatns.BackofficeSwaggerGroup });
x.SwaggerDoc(Constatns.PublicSwaggerGroup, new OpenApiInfo { Title = "Portal Nekretnine - Public", Version = Constatns.PublicSwaggerGroup });
// This code allow you to use XML-comments
string xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
string xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
if (File.Exists(xmlPath))
{
x.IncludeXmlComments(xmlPath);
}
x.AddSecurityDefinition
(
"Bearer",
new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "Please enter token into the field",
Name = "Authorization",
Type = SecuritySchemeType.ApiKey
}
);
});
}
public static void UseSWAGGER(this IApplicationBuilder applicationBuilder)
{
// Enable middleware to serve generated Swagger as a JSON endpoint.
applicationBuilder.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
applicationBuilder.UseSwaggerUI(x =>
{
x.SwaggerEndpoint($"/swagger/{Constatns.BackofficeSwaggerGroup}/swagger.json", "Portal Nekretnine - Backoffice");
x.SwaggerEndpoint($"/swagger/{Constatns.PublicSwaggerGroup}/swagger.json", "Portal Nekretnine - Public");
});
}
}
public partial class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration, IWebHostEnvironment env)
{
Configuration = configuration;
if (env.IsDevelopment())
{
IConfigurationBuilder builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile($"appsettings.development.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
else
{
IConfigurationBuilder builder = new ConfigurationBuilder()
.AddJsonFile($"appsettings.production.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
}
// This method gets called by the runtime. Use this method to add services to the container.
[System.Obsolete]
public void ConfigureServices(IServiceCollection services)
{
SetServices(services);
services.ConfigureCOMPRESSION();
//disable built in model validator
services.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
services.AddMvcCore(options =>
{
//Validate model
options.Filters.Add(typeof(ValidateModelAttribute));
// Add "Cache-Control" header
options.Filters.Add(typeof(CacheControlFilter));
// Add custom binder provider for mapping json object form multipart/form-data
options.ModelBinderProviders.Insert(0, new JsonModelBinderProvider());
})
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
.AddApiExplorer();
services.AddControllers()
.AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
options.SerializerSettings.Converters.Add(new JsonDateConverter());
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
#if DEBUG
options.SerializerSettings.Formatting = Formatting.Indented;
#else
options.SerializerSettings.Formatting = Formatting.None;
#endif
});
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
services.ConfigureCookieAuthentication();
services.ConfigureAUTH(Configuration);
services.ConfigureCORS();
services.ConfigureSWAGGER();
services.AddSwaggerGenNewtonsoftSupport(); // explicit opt-in - needs to be placed after AddSwaggerGen()
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseRouting();
app.UseCOMPRESSION();
app.UseAUTH();
app.UseAuthorization();
app.UseCORS();
app.UseSWAGGER();
app.UseHttpStatusCodeExceptionMiddleware();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
[ApiController]
public class SecurityController : ControllerBase
{
[ApiExplorerSettings(GroupName = Constatns.PublicSwaggerGroup)]
[SwaggerOperation(OperationId = "registerVisitor")]
[HttpPost("api/register/visitor")]
[ValidateModel]
[AllowAnonymous]
[ProducesResponseType((int)HttpResponseType.OK, Type = typeof(TokenResponse))]
[ProducesResponseType((int)HttpResponseType.BadRequest)]
[Produces("application/json")]
public async Task<TokenResponse> RegisterVisitor([FromBody] RegisterVisitorRequest data)
{}
}
最佳答案
经过数小时的挖掘,我发现 Microsoft.OpenApi 1.2.0-preview 不能与 .net core 3.1 和 swagger v5 压缩,请使用 Microsoft OpenApi 的 v1.1.4
关于swagger - Asp.NET Core 3.1 和 Swashbuckle.AspNetCore.Swagger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59992762/
我有 ASP.NET Core Web 应用程序,我在其中使用 swagger 使用以下内容: public void ConfigureServices(IServiceCollection ser
AspNetCore.Mvc 和 AspNetCore.Mvc.Core NuGet 包之间有什么区别? Mvc.Core 只是简单的东西,而 Mvc 是一个包罗万象的包吗?这就是我从描述中猜测的he
我有一个包含多个项目的解决方案。我想创建一个项目的Docker镜像,因此我已经通过Docker支持添加了一个Dockerfile。我添加了Dockerfile的项目已在同一级别上依赖于其他项目。当我尝
我正在尝试使用 Ajax 将类列表返回到我的 View 这是我的ajax $(document).ready(function () { debugger; $.
我已经使用过几次这个包Microsoft.AspNetCore.TestHost在我的集成测试中托管 Asp.Net Core Web API 应用程序。 使用 Asp.Net Core 2.1 包
我正在尝试使用 Ajax 将类列表返回到我的 View 这是我的ajax $(document).ready(function () { debugger; $.
SignalR 客户端有两个 nuget 包: Microsoft.AspNetCore.SignalR.Client和 Microsoft.AspNetCore.SignalR.Client.Cor
这个错误的可能原因是什么: InvalidOperationException: No service for type 'Microsoft.AspNetCore.Identity.UserMana
使用 IFormFile 时,我在运行时收到此错误: Could not load type 'Microsoft.AspNetCore.Http.Internal.FormFile' from as
我正在尝试将我的 API 项目从 .net core 2.2 升级到 .net core 3.1。我在尝试进行 API 调用时遇到此异常。 "Message":"Could not load type
我在 netcoreapp3.0 Web 应用程序中使用 netstandard2.1 库。在 Startup 中添加我的服务时,出现以下错误: 'Could not load type 'Micro
我遇到以下异常: Cannot resolve parameter 'Microsoft.Extensions.Logging.ILogger logger' "At the moment (9/28
我们有使用 Swagger 的 .net core 2.1 mvc webapi 项目。 我们使用以下软件包: swashbuckle 的配置方式如下: services.AddMvcCo
我正在使用图书馆 "FluentValidation.AspNetCore": "6.4.0-beta3"在 .netcore WebApi在一个项目中。您可以在下面看到项目结构。如果我放置 Curr
怎么改Content root path在应用程序 .Net Core 3.0 ASP Blazor 上启动? 现在应用程序以输出开始 info: Microsoft.AspNetCore.DataP
我正在将 Microsoft.AspNetCore.Identity 添加到一个项目中,我得到了 InvalidOperationException: Unable to resolve servic
我有一个 Asp.Net Core 2 Mvc 项目。我目前正在尝试将数据访问分离到一个单独的项目中;但是,一旦我添加对数据访问库的引用,我就会遇到版本冲突: error NU1107: Versio
我理解的三大人生: 单例 有范围 短暂的 但我似乎找不到说明默认生命周期是多少(如果未明确定义)的文档。 最佳答案 默认情况下,注册类型的生命周期是 transient 的,即每次注入(inject)
我有一个正在泄漏线程的 ASP.NET Core 2 应用程序。我如何确定线程永不消亡的原因? 如果我在生产环境中运行该应用程序 10 分钟,IIS 开始吐出 502.3 Bad Gateway 错误
当尝试从新的DotNetCore类库导入AspNetCore MVC站点(WebApplication1)以便运行某些测试时,出现以下错误。 任何人都可以对编译器的工作原理以及为什么使用runtime
我是一名优秀的程序员,十分优秀!