javaアプリの戻り値の標準化について詳しく説明します。


app戻り値の標準化
例えば

{"status":200,"message":"    ","data":"{\"id\":1,\"name\":\"  \"}"}
パッケージをオブジェクトに戻す
オブジェクトはbaset.utill.ResponseUtilsタイプでカプセル化され、戻り値は標準的なResponse Entityオブジェクトであり、リターンは主にstatusmesssagedataokMessageで構成されています。戻り方はokとok Messageがあります。もしメッセージを返すなら、対象はいらないです。
パッケージの戻り先:

 @Builder
 @Getter
 @NoArgsConstructor
 @AllArgsConstructor
 static class ResponseBody {

 private int status;
 private String message;
 private Object data;
 }
httpErrと私達がカプセル化したhttpErr
http errorには多くの種類がありますが、基本的にはcodeとして400から500までの間に決められます。クライアントパラメータの問題はokです。認証がないと400- bad requestです。認証はありませんが、対応する権限がないと401-Unauthorizedです。要求されたのは403-Forbiddenです。
リソースが発見されていないのは404-Not Foundです。要求方式が間違っています。(方法はpostです。getを使いました。)405- Method Not Allowedなどです。
標準http応答状態コードを使う

 @GetMapping(GET_HTTP_ERROR)
 ResponseEntity<?> getHttpError() throws IOException {
 return ResponseEntity.badRequest().build();
 }
 @Test
 public void getHttpError() throws Exception {
  mockMvc
   .perform(
    get(LindDemo.GET_HTTP_ERROR)
     .accept(MediaType.APPLICATION_JSON_UTF8))
   .andExpect(status().is(400));
 
 }
応答の結果

MockHttpServletResponse:
   Status = 400
 Error message = null
   Headers = {}
  Content type = null
    Body = 
 Forwarded URL = null
 Redirected URL = null
   Cookies = []
私達のパッケージのstatus状態コードを使用します。

 @GetMapping(GET_ERROR)
 ResponseEntity<?> getError() throws IOException {
 return ResponseUtils.badRequest("       !");
 }
 
 @Test
 public void getError() throws Exception {
  mockMvc
   .perform(
    get(LindDemo.GET_ERROR)
     .accept(MediaType.APPLICATION_JSON_UTF8))
   .andExpect(status().isOk());
 
 }
応答の結果

MockHttpServletResponse:
   Status = 200
 Error message = null
   Headers = {Content-Type=[application/json;charset=UTF-8]}
  Content type = application/json;charset=UTF-8
    Body = {"status":400,"message":"       !","data":{}}
 Forwarded URL = null
 Redirected URL = null
   Cookies = []
上記の応答結果により、私達のパッケージの要求httpcodeはまだ200です。要求エラー400状態コードをbodyに書いただけです。
対象の中で、現在このような方法は多く使われています。いくつかの第三者インターフェースのようなものはこのような方式です。彼らは相応の応答規範を規定します。
締め括りをつける
実は、二つの応答体は問題ないです。肝心なのは開発間の規則を確定することです。プロジェクトの中で両方を兼用しないでください。
以上述べたのは小编が皆さんに绍介したjava appiの戻り値の标准化を详しく整理しています。皆さんに何かお聞きしたいことがあれば、メッセージをください。ここでも私たちのサイトを応援してくれてありがとうございます。