要自定义ASP.NET Core API中的未授权响应体,您可以使用中间件来捕获未授权的请求,并返回自定义的响应。
以下是一个示例解决方案:
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
public class UnauthorizedMiddleware
{
private readonly RequestDelegate _next;
public UnauthorizedMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
await _next(context);
if (context.Response.StatusCode == 401)
{
// 处理未授权的请求
await context.Response.WriteAsync("自定义未授权响应体");
}
}
}
Startup.cs
文件的Configure
方法中使用自定义中间件。public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// 其他中间件...
app.UseMiddleware(); // 添加自定义中间件
// 其他中间件...
}
现在,当未授权的请求发生时,中间件将捕获该请求并返回自定义的未授权响应体。您可以根据需要修改UnauthorizedMiddleware
类中的逻辑以满足您的要求。