ホームページ > Java > &#&チュートリアル > API戻り値の標準化入門(コード例)

API戻り値の標準化入門(コード例)

不言
リリース: 2019-03-08 16:26:25
転載
3900 人が閲覧しました

この記事では、API の戻り値の標準化について紹介します (コード例)。一定の参考値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

API 戻り値の標準化

{"status":200,"message":"操作成功","data":"{\"id\":1,\"name\":\"张三\"}"}
ログイン後にコピー

戻りオブジェクトのカプセル化

オブジェクトは、base.util.ResponseUtils 型でカプセル化され、戻り値は標準の ResponseEntity オブジェクトで、戻り本体
は再カプセル化され、主にステータス、メッセージ、データで構成されます。戻りメソッドは ok および okMes​​sage です。
が実際にメッセージを返し、オブジェクトを必要としない場合は、 、okMes​​sage を使用することを選択でき、それ以外の場合は OK メソッドを使用します。

カプセル化された戻りオブジェクト:

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

    private int status;
    private String message;
    private Object data;
  }
ログイン後にコピー

httpError とカプセル化された httpError

http エラーには多くの種類があり、基本的に 400 ~ 500 のコードとして設定できます。たとえば、クライアント パラメータの問題が 400-bad request の場合、認証がない場合は 401-Unauthorized、認証はあるが対応する許可がない場合は 403-Forbidden、要求された
リソースが次の場合は 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 = []
ログイン後にコピー

    カプセル化されたステータス ステータス コードを使用します
  • #
      @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

オブジェクトに書き込まれます。現在はこの方式が多く使われており、一部のサードパーティインターフェースではこの方式が採用されており、対応する応答仕様が規定されています。


まとめ

実際には、両方のレスポンスボディに問題はありません。重要なのは、開発間でルールを決定し、プロジェクト内で両方を使用しないことです。

以上がAPI戻り値の標準化入門(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
api
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
Baidu 地図 API の入手方法
から 1970-01-01 08:00:00
0
0
0
Laravel が API 名前空間を追加
から 1970-01-01 08:00:00
0
0
0
PHPカールリクエストAPI
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート