【发布时间】:2020-10-24 11:21:01
【问题描述】:
我有以下回应:
{
"errors": {
"name": [
"The Name field is required."
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "|df89b6cf-4d6da62fe5671a5c."
}
其实我不需要type、title和traceId。
我在Startup.cs中没有任何额外的配置:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseNpgsql(Configuration.GetConnectionString("MainConnectionString")));
services.AddAuthenticationWithBearer(Configuration);
services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
ProcessDictionaryKeys = true,
OverrideSpecifiedNames = true,
ProcessExtensionDataNames = true
},
};
});
services.AddSwaggerConfiguration();
}
我有非常简单的模型:
public class UpdateProfileRequest
{
[Required]
[StringLength(20)]
public string Name { get; set; }
[Required]
[StringLength(20)]
public string About { get; set; }
public int Age { get; set; }
public string JobInfo { get; set; }
public string HobbyInfo { get; set; }
public string Email { get; set; }
}
这是控制器的动作:
[Authorize]
[HttpPost("[action]")]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
public IActionResult UpdateProfile(UpdateProfileRequest request)
{
return Ok(new {UserName = "test"});
}
所以,问题。如何为每个响应删除字段:type、title 和 traceId。
有这么简单的方法吗?
【问题讨论】:
标签: c# .net .net-core asp.net-core-webapi