Spring ์์ ๋ฌธ์ํ๋ฅผ ์ถ๊ฐํ๊ณ ์ Swagger(Springdoc-openapi)๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ํ๋๋ฐ, ์๋์ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋์ต๋๋ค.
Unable to render this definition ...
์ค์ api-docs URL๋ก ์ ๊ทผํด๋ณด๋ฉด, ์๋์ ๊ฐ์ด ๋ฉ์์ง๊ฐ ์ ์์ ์ผ๋ก ์ปจ๋ฒํฐ๊ฐ ์๋์ด ๋์ค๋ ๋ฏ ํ ํ์์ด ๋ฐ์ํฉ๋๋ค.
ํ์ฌ ํ๋ก์ ํธ์์๋ MessageConverter ๋ฅผ Customํ์ฌ ์ฌ์ฉํ๊ณ ์๊ณ , ๋๋ต์ ์ผ๋ก ์๋์ ๊ฐ์ด ์ฌ์ฉ์ค์ ๋๋ค.
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
StringHttpMessageConverter converter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
converter.setWriteAcceptCharset(false);
converter.setSupportedMediaTypes(Arrays.asList(new MediaType("text", "plain", StandardCharsets.UTF_8)));
converters.add(converter);
converters.add(new MappingJackson2HttpMessageConverter());
}
OpenAPI ๊ณต์ ๋ฌธ์์ ๋ณด๋ฉด, ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๊ณ ์์ต๋๋ค.
ByteArrayHttpMessageConverter๋ฅผ ๋ฑ๋กํ๋ผ๊ณ ๋์ค๋๋ฐ์, Note์๋ ๋ฑ๋ก ์์ ๋ํ ์ค์ํ๋ค๊ณ ํฉ๋๋ค.
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
StringHttpMessageConverter converter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
converter.setWriteAcceptCharset(false);
converter.setSupportedMediaTypes(Arrays.asList(new MediaType("text", "plain", StandardCharsets.UTF_8)));
converters.add(converter);
converters.add(new ByteArrayHttpMessageConverter()); // ์ถ๊ฐ
converters.add(new MappingJackson2HttpMessageConverter());
}
์์ ๊ฐ์ด ByteArrayHttpMessageConverter() ๋ฅผ MappingJackson2HttpMessageConverter() ์ ์ ๋ฑ๋ก์ ํ๋ฉด ์ ์์ ์ผ๋ก ํธ์ถ์ด ๋๋๋ฐ, ์์๋ฅผ ๋ฐ๋๋ก ํ๋ฉด ๋์ผํ๊ฒ Unable to render ... ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๊ธ