gpt4 book ai didi

asp.net-mvc - 如何强制 ASP.NET Web API 始终返回 JSON?

转载 作者:行者123 更新时间:2023-12-01 23:10:41 28 4
gpt4 key购买 nike

ASP.NET Web API 默认进行内容协商 - 将基于 Accept 返回 XML 或 JSON 或其他类型标题。我不需要/想要这个,有没有办法(比如属性或其他东西)告诉 Web API 总是返回 JSON?

最佳答案

Supporting only JSON in ASP.NET Web API – THE RIGHT WAY

用 JsonContentNegotiator 替换 IContentNegotiator:

var jsonFormatter = new JsonMediaTypeFormatter();
//optional: set serializer settings here
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));

JsonContentNegotiator 实现:
public class JsonContentNegotiator : IContentNegotiator
{
private readonly JsonMediaTypeFormatter _jsonFormatter;

public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
{
_jsonFormatter = formatter;
}

public ContentNegotiationResult Negotiate(
Type type,
HttpRequestMessage request,
IEnumerable<MediaTypeFormatter> formatters)
{
return new ContentNegotiationResult(
_jsonFormatter,
new MediaTypeHeaderValue("application/json"));
}
}

关于asp.net-mvc - 如何强制 ASP.NET Web API 始终返回 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12629144/

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