인프런 커뮤니티 질문&답변
JUnit5에서 prettyPrint() 적용하기
작성
·
723
3
@ExtendWith({RestDocumentationExtension.class, SpringExtension.class})
@SpringBootTest
class EventControllerTest {
private MockMvc mockMvc;
@Autowired
private ObjectMapper objectMapper;
@Autowired
private WebApplicationContext context;
@Autowired
private EventRepository eventRepository;
@BeforeEach
void init(RestDocumentationContextProvider restDocumentation) {
this.mockMvc = MockMvcBuilders
.webAppContextSetup(this.context)
.addFilters(new CharacterEncodingFilter("UTF-8", true))
.apply(documentationConfiguration(restDocumentation)
.operationPreprocessors()
.withRequestDefaults(modifyUris().host("yoonjoy.me").removePort(), prettyPrint())
.withResponseDefaults(modifyUris().host("yoonjoy.me").removePort(), prettyPrint()))
.alwaysDo(print())
.build();
}
추가로 addFilters에 UTF-8 설정을 통해 responseBody에서 한글이 깨지는 것을 막고,
modifyUris을 통해 호스트 url localhost을 원하는 문자로 바꿀 수 있습니다.
퀴즈
REST 아키텍처 스타일에서 HATEOAS(Hypermedia as the Engine of Application State)가 중요한 주된 이유는 무엇일까요?
API 서버의 응답 처리 속도를 높이기 위해서입니다.
클라이언트가 하이퍼미디어를 통해 애플리케이션의 상태 전이를 동적으로 탐색할 수 있도록 지원하기 위해서입니다.
데이터 전송 시 네트워크 대역폭 사용량을 줄이기 위해서입니다.
API 엔드포인트 URL 구조를 미리 고정시키기 위해서입니다.





