c# - 相同的 Web API 返回多种格式
问题描述
我正在开发一个 Asp.Net Web API 项目,我需要以某种方式创建它,以便 2 个不同的客户端可以使用它并获得所需格式的响应。
需要同时支持 JSON 和 XML 格式。
我在 WebApiConfig 文件的 Register 方法中尝试了一些东西:
public static void Register(HttpConfiguration config)
{
// Adding formatter for Json
config.Formatters.JsonFormatter.MediaTypeMappings.Add(
new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json")));
// Adding formatter for XML
config.Formatters.XmlFormatter.MediaTypeMappings.Add(
new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml")));
}
此处客户端可以使用 API,但需要传递查询字符串 type=json 或 xml 以获得所需格式的响应。
http://localhost:1312/api/Blog?type=xml
http://localhost:1312/api/Blog?type=json
有没有更好的方法来检测客户所需的格式并做出相应的响应?如果我们从请求头或类似的东西中得到它,TIA。
解决方案
推荐阅读
- javascript - 区分 JavaScript Try/Catch 中的 API (Apex) 异常类型
- powershell - 如何在 VSCode 中设置自定义 powershell 安装目录
- python - 无法加载使用 Igor pro 保存的 Python hdf 文件
- sql - 处理模型表中 expires_in 数据的最佳方法是什么
- javascript - 在 Discord.js V13 中发送贴纸
- javascript - React 表单返回未定义的值
- arrays - C for 循环中未声明的标识符错误?
- javascript - 从 Mongoose 获取项目列表并返回结果
- apache-spark - Spark中的嵌套groupBy和agg
- adfs - ADFS 2019 在从客户端返回的令牌中包含角色