My OpenApi Config class is
@Configuration
public class OpenApiConfiguration {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI().info(apiInfo());
}
private Info apiInfo() {
return new Info()
.title(API_INFO_TITLE)
.description(API_INFO_DESC);
}
@Bean
public GsonHttpMessageConverter getMessGsonHttpMessageConverter(GsonBuilder gsonBuilder) {
GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
gsonBuilder.disableHtmlEscaping();
gsonBuilder.registerTypeAdapter(Json.class, new SpringfoxjsonToGsonAdapter())
.registerTypeAdapter(ChangeDriver.class, new InterfaceAdapter<CULayer>())
.registerTypeAdapter(ChangeDriverData.class, new InterfaceAdapter<TxnCULayer>())
.registerTypeAdapter(TriggerCU.class, new InterfaceAdapter())
.registerTypeAdapter(ExtendedProperty.class, new InterfaceAdapter<ExtendedProperty>());
converter.setGson(gsonBuilder.create());
return converter;
}
private static class SpringfoxjsonToGsonAdapter implements JsonSerializer<Json> {
@Override
public JsonElement serialize(Json json, Type type, JsonSerializationContext context) {
final JsonParser parser = new JsonParser();
return parser.parse(json.value());
}
}
}
Due to presence of getMessGsonHttpMessageConverter(GsonBuilder gsonBuilder) and JsonSerializer OpenApi in /v3/api-docs are generating array of ascii integers. But these functions are written for json-serialization of response of my Apis. Can anyone suggest a way to get OpenApi in /v3/api-docs correctly.
I tried adding @EnableWebMvc but response of api gets affected.