有没有更好的方法来验证请求是否接受 JSON
本文关键字:是否 JSON 请求 验证 更好 方法 有没有 | 更新日期: 2023-09-27 17:47:21
实际上,我正在使用这种方式。你有更好的方法吗?
private bool AcceptJson(HttpRequest request)
{
const string JsonType = "application/json";
if (request.ContentType.ToLower(CultureInfo.InvariantCulture).StartsWith(JsonType))
{
return true;
}
if (request.AcceptTypes.Select(t => t.ToLower(CultureInfo.InvariantCulture) == JsonType).Count() > 0)
{
return true;
}
return false;
}
这种方法可能会导致误报(它不考虑应用程序/JSON 是子字符串的 q 值或内容类型)。
你可以在这篇关于XHTML的文章中找到一个不错的Accept头解析器。您必须将算法移植到您选择的语言,并针对您正在使用的内容类型对其进行调整。
很难知道你所说的"更好"是什么意思。严格来说,您无需担心内容类型,因此可以将其删除。我想从技术上讲,更好的方法是删除 Select 调用并将条件放入 Count 方法中。