swagger 如何在.net core中配置Http发送状态码描述

pexxcrt2  于 2023-01-05  发布在  .NET
关注(0)|答案(1)|浏览(182)

在startup.cs和https链接中使用app.UseHttpsRedirection();时,响应不包含状态代码描述
Error status code when using https image
但当从startup.cs中删除app.UseHttpsRedirection();并使用http链接时,响应包含状态代码沿着描述
Required response got using http image

如何配置https或.Net Core以发送状态代码说明?

我用的是.NetCore 3.1
statup.cs

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "BAIM");
            });
            app.UseHttpsRedirection();
            app.UseRouting();
            app.UseAuthentication();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }

和控制器方法

[HttpGet]
        public ActionResult<IEnumerable<WeatherForecast>> Get()
        {
            return BadRequest();
        }

需要与错误代码和描述的响应提前感谢很多

jjhzyzn0

jjhzyzn01#

下面是一个发送状态代码作为响应的示例,我给出的是抛出异常时的catch块示例

catch (Exception ex)
               {
               Dictionary<string, object> result = new Dictionary<string, object>();

                result["message"] = ex.Message;
                _logger.LogError(ex, "Error in Get By ID  template");

                return StatusCode(StatusCodes.Status500InternalServerError, result);

            }

相关问题