요청이 JSON을 허용하는지 확인하는 더 좋은 방법이 있습니까?
-
05-07-2019 - |
문제
사실, 나는이 방법을 사용하고 있습니다. 더 나은 방법이 있습니까?
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;
}
해결책
이 접근법은 잘못된 양성으로 이어질 수 있습니다 (Application/JSON의 Q 값 또는 콘텐츠 유형을 설명하지 않음).
괜찮은 수락 헤더 파서를 찾을 수 있습니다 XHTML에 대한이 기사. 알고리즘을 선택 언어로 포트하고 사용중인 컨텐츠 유형에 맞게 조정해야합니다.
다른 팁
"더 나은"이란 무엇을 의미하는지 알기가 어렵습니다. 엄밀히 말하면, 컨텐츠 유형에 대해 걱정할 필요가 없으므로 제거 할 수 있습니다. 기술적으로 더 나은 방법은 선택 통화를 제거하고 조건을 카운트 메소드에 넣는 것입니다.
제휴하지 않습니다 StackOverflow