bugfix> java > 投稿

DTOオブジェクトがあります

public class Rate {
    private final Integer rate;
    private final String user;
    private final Date date;
}

および2つのコントローラー

https://zapodaj.net/2f60536ba4326.png.html -評価を取得する https://zapodaj.net/71e52684343df.png.html -評価を投稿する

評価を追加するとき、ユーザー層または日付はサービス層で自動的に完了するため、追加しません。これらのフィールドを無視して、表示されないようにし、評価POSTの送信時にユーザーがこれらのフィールドに入力できないようにし、GETを表示するときにのみ表示できるようにする方法

回答 1 件
  • 応答では表示するが要求では表示しないプロパティのreadOnly属性をtrueに設定できます。

    private Integer rate;
    @ApiModelProperty(readOnly = true)
    private String user;
    @ApiModelProperty(readOnly = true)
    private Date date;
    
    

    swagger-foxによって生成されるモデルは

    "definitions": {
        "Obj": {
            "type": "object",
            "properties": {
                "date": {
                    "type": "string",
                    "format": "date-time",
                    "readOnly": true
                },
                "rate": {
                    "type": "integer",
                    "format": "int32"
                },
                "user": {
                    "type": "string",
                    "readOnly": true
                }
            }
        }
    }
    
    

    swaggerエディターでは、次のように表示されます。

あなたの答え