c# - 有没有办法创建一个 Accept 属性来强制执行 ASP.NET Core Controller Action 中的 Accept header 检查?

标签 c# .net asp.net-core asp.net-core-webapi

只是想知道是否有一种方法可以通过 ASP.NET Core 中的属性强制检查 HTTP header 值是否属于一组给定值(例如 application/json应用程序/xml)

我知道有 ProducesAttribute ( https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.producesattribute?view=aspnetcore-2.1 ):

[Produces("application/json", "application/xml")]

但更多的是关于支持的内容类型,而不是关于 Accept header 分析。

如果 Accept header 的值不是,我会期望类似的东西返回 406 HTTP 代码:

[Accept("application/json", "application/xml")]

如果没有开箱即用的属性,我该如何创建一个?

最佳答案

您可以使用[Consumes("application/json", "application/xml")]

关于c# - 有没有办法创建一个 Accept 属性来强制执行 ASP.NET Core Controller Action 中的 Accept header 检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53178890/

相关文章:

java - 连接到外部数据库和发送 Web 请求时,C# .NET 和 Java 的安全性如何?

c# - 如何在c#中将负数转换为正数?

c# - 为什么 Azure Functions 运行时找不到我的 DLL?

c# - 为什么 .net 中的数组只实现 IEnumerable 而不是 IEnumerable<T>?

.net - Int32 vs Int64 在 64 位平台上的性能?

c# - 无法从 Azure 应用程序配置服务读取设置

c# - 重写 ASP.Net 5 中 Azure Web App 的 config.json 文件中的配置值

c# - 组件 dll 加载失败

c# - 开发以管理员身份运行命令的应用程序

c# - 身份服务器 4 : How so you include additional claims and get the value in an API controller?