gpt4 book ai didi

ASP.NET Web API 格式化程序

转载 作者:行者123 更新时间:2023-12-02 21:35:18 24 4
gpt4 key购买 nike

众所周知,默认情况下,Web API 框架具有可以生成 JSON 或 XML 的格式化程序如果您想生成一些其他类型的输出,那么在我读过的很多地方都需要实现自定义媒体类型格式化程序来完成您想要的操作。但f.e.我需要从我的 Web API Controller 返回原始 HTML,如果我这样创建 HttpResponseMessage:

 response = new HttpResponseMessage()
{
Content = new StringContent(
"<p>Hello world</p>",
Encoding.UTF8,
"text/html")
};

然后,我的响应中包含浏览器将识别并呈现的原始 HTML。我的问题实际上为什么它可以在不使用任何自定义格式化程序的情况下工作,在这种情况下我需要创建一个,而在这种情况下我不应该。

最佳答案

格式化程序使您的服务能够灵活地使用相同的数据响应客户端,但根据客户端的要求以任意格式。如果客户端请求 application/json,您的服务将使用 JSON 格式化程序以 JSON 进行响应。

据我所知,格式化程序仅适用于您的方法直接返回要序列化的对象的情况。在您的情况下,无论客户端要求什么媒体类型,您都会返回一个 HttpResponseMessage ,其中包含包含 html 内容的字符串。

通常,如果您希望服务能够根据客户端指定的 Accept header 以不同格式提供相同的数据,则需要使用格式化程序。

关于ASP.NET Web API 格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21557880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com