문제

사실, 나는이 방법을 사용하고 있습니다. 더 나은 방법이 있습니까?

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에 대한이 기사. 알고리즘을 선택 언어로 포트하고 사용중인 컨텐츠 유형에 맞게 조정해야합니다.

다른 팁

"더 나은"이란 무엇을 의미하는지 알기가 어렵습니다. 엄밀히 말하면, 컨텐츠 유형에 대해 걱정할 필요가 없으므로 제거 할 수 있습니다. 기술적으로 더 나은 방법은 선택 통화를 제거하고 조건을 카운트 메소드에 넣는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top