1. ホーム
  2. ジャワ

swaggerアノテーションAPI :@ApiModel ....

2022-02-24 09:12:47

API詳細

アノテーションの概要

<テーブル アクションの範囲 API 使用場所 オブジェクトプロパティ ApiModelProperty in/outパラメータオブジェクトのフィールドで使用されます。 プロトコルセットの説明 API コントローラクラスで使用 プロトコルの説明 ApiOperation コントローラのメソッドで使用します。 レスポンスセット ApiResponses コントローラのメソッドで使用します。 レスポンス ApiResponse ApiResponsesで使用されます。 非オブジェクトパラメータセット ApiImplicitParams コントローラのメソッドで使用します。 オブジェクト以外のパラメータの説明 ApiImplicitParam ApiImplicitParamsメソッドで使用します。 返されたオブジェクトの意味を記述する ApiModel 戻り値のオブジェクトクラスで使用されます

この @RequestMapping アノテーションの推奨構成 
値 
メソッド 
プロデュース

    @ApiOperation("Message soft delete")
    @ApiResponses({ @ApiResponse(code = CommonStatus.OK, message = "Operation successful"),
            @ApiResponse(code = CommonStatus.EXCEPTION, message = "Internal server exception"),
            @ApiResponse(code = CommonStatus.FORBIDDEN, message = "Insufficient privileges") })
    @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Long", name = "id", value = "message id& quot;, required = true) })
    @RequestMapping(value = "/remove.json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public RestfulProtocol remove(Long id) {

    @ApiModelProperty(value = "title")
    private String title;

ApiImplicitParam

<テーブル 属性 の値を取ります。 役割 paramType クエリパラメータタイプ パス データをアドレスとして送信する クエリ パラメータで直接、自動マッピングの割り当てを完了させる 本体 ストリームとして送信 POST のみサポート ヘッダー パラメータはリクエストヘッダで送信されます フォーム フォームとして送信 POSTのみ対応 データ型 パラメータのデータ型はフラグの記述としてのみ使用され、実際には検証されない ロング 文字列 名称 受信パラメータ名 値 受信したパラメーターの意味の説明 必須 パラメータは必須ですか 真 必須項目 虚偽 不要 デフォルト値 デフォルト値

paramTypeの例 詳細

パス

 @RequestMapping(value = "/findById1/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)

 @PathVariable(name = "id") Long id

ボディ

  @ApiImplicitParams({ @ApiImplicitParam(paramType = "body", dataType = "MessageParam", name = "param", value = & quot;MessageParam", required = true) })
  @RequestMapping(value = "/findById3", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)

  @RequestBody MessageParam param

  The submitted parameter is a json of this object, which is then automatically parsed to the corresponding field, or the current request data can be received in the form of a stream, but only one of these and the above can be used (the stream is closed after using @RequestBody)


ヘッダー

  @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "Long", name = "id", value = "message id& quot;, required = true) }) 

   String idstr = request.getHeader("id");
        if (StringUtils.isNumeric(idstr)) {
            id = Long.parseLong(idstr);
        }

フォーム

@ApiImplicitParams({ @ApiImplicitParam(paramType = "form", dataType = "Long", name = "id", value = "message id& quot;, required = true) })
 @RequestMapping(value = "/findById5", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)

https://blog.csdn.net/xupeng874395012/article/details/68946676 より取得