2017-10-31 20 views
0

Java + Springアプリケーションでは、RestTemplateを呼び出した第三者から、200応答コードでJSONのエラー応答が返されます。例えばHTTPエラーをHttpに変換するステータスコード

{ 
    "errors": [{ 
     "reason": "did not like the request", 
     "error": "BAD_REQUEST" 
    }] 
} 

は、どのように私は400個の整数表現にBAD_REQUESTを変換することができます。 Apache HttpStatus inteはインタフェースを提供していないようです。

+1

だからあなたのサーバがそのコンテンツと200のHTTPステータスを返信? –

+0

はい、私のそれを変更することはできませんので、他の党のサーバーの応答。 –

+0

可能性のあるエラーをすべて尋ね、標準状態コードに独自のマッピングを作成します。 –

答えて

1

たぶん、あなたはorg.springframework.http.HttpStatusを使用することができます。

String error = "BAD_REQUEST"; 
HttpStatus httpStatus = HttpStatus.valueOf(error); 
int errorIntCode = httpStatus.value(); 

以上の安全:

String error = "BAD_REQUEST"; 
HttpStatus httpStatus = Arrays.stream(HttpStatus.values()) 
     .filter(status -> status.name().equals(error)) 
     .findAny() 
     .orElse(HttpStatus.INTERNAL_SERVER_ERROR); 
int errorIntCode = httpStatus.value(); 
+0

驚くばかり!ありがとう –

関連する問題