How to set @ApiModelProperty dataType to String for Swagger documentation How to set @ApiModelProperty dataType to String for Swagger documentation spring spring

How to set @ApiModelProperty dataType to String for Swagger documentation


Turns out that dataType is completely ignored in the current version of the Swagger Spring MVC library. I found a short discussion on it here:

https://github.com/springfox/springfox/issues/602

Looks like it could be included in version 2 once that is out.

EDIT: Although version 2 says it supports dataType, it doesn't appear to be working at this time. A better approach for my needs is to configure the documentation settings with a direct model substitution like this:

@Beanpublic Docket swaggerSpringMvcPlugin() {    return new Docket(DocumentationType.SWAGGER_2)            .directModelSubstitute(Money.class, String.class);}


For OpenApi (Swagger 3.0) and SpringDoc the following global configuration could be used.

static {     SpringDocUtils.getConfig().replaceWithSchema(Money.class, new StringSchema());}


@ApiModel@JsonInclude(JsonInclude.Include.NON_EMPTY)public class Model {    @JsonDeserialize(using = LocalDateTimeDeserializer.class)    @JsonSerialize(using = LocalDateTimeSerializer.class)    @JsonProperty("myDate")    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")    private final LocalDateTime myDateTime;}