본문 바로가기

HTTP4

MockMVC + Junit으로 컨트롤러 테스트코드 만들기 (feat. PostMan 수동 테스트 탈출) MockMVC + Junit으로 컨트롤러 테스트코드 만들기 API 서버를 만들다 보면 테스트를 주로 PostMan을 이용해 HTTP를 생성해서 컨트롤러의 동작을 테스트하거나 웹 브라우저를 켜서 테스트한다. 본 테스트 시간보다 웹 어플리케이션을 실행하고 종료하는 시간이 더 오래걸리는 상황이 발생한다. 또한, 매번 HTTP body에 데이터를 작성하는게 매우 비 효율적이다. PostMan은 다음과 같은 문제점이 있다. 개발자의 수동 테스트 코드를 수정한 후에 서버를 재시작하고 테스트하기 이런 문제를 해결하기 위해 다음과 같은 방법을 사용할 수 있다. JUnit 사용 + MockMVC 사용 그 동안 웹 애플리케이션을 작성한 후, 해당 웹 애플리케이션을 Tomcat이라는 이름의 WAS(Web Applicatio.. 2022. 2. 17.
[restAPI] 응답 헤더 다루기 [restAPI] 응답 헤더 다루기 restAPI를 개발하다보면 클라이언트로부터 온 요청에대한 응답을 처리할때 HTTP body에 json 등의 데이터만 담아주는게 아니라 response HTTP header에 다양한 속성을 다뤄주거나 그 응답에 맞는 상태코드들도 함께 내려줘야한다. 상태 코드는 다음에 다루겠다. 오늘은 헤더 컨트롤만! Spring boot는 이런 기능을 손쉽게 할수있도록 여러 기능을 제공한다 ServletHttpResponse 같은건 서블릿이라고 할수도있겠다. Spring boot는 Spring의 기능을 더 간편화 한것이기때문에 Spring에서도 일치한다. 응답 HTTP 헤더를 설정하는 방법 단일 응답에 헤더를 설정하려면 HttpServletResponse 또는 ResponseEntit.. 2022. 1. 20.
[RestAPI] HTTP 상태코드 [RestAPI] HTTP 상태코드 RestAPI를 개발할때 응답 HTTP를 생성해주는것도 중요하지만 알맞은 상태코드를 응답해야한다. 상태 코드의 기능은 정해져 있다. 알맞은 상태코드를 회신함으로써 클라이언트에게 다음 작업을 알릴수있다. 예를 들면 상태 코드 200은 요청이 성공적으로 완료되었다는 메세지를 전달하는 기능을 갖고 이것을 이용해 클라이언트에 다음 작업을 이어 나가도 좋다는 신호의 목적으로 쓰일 수 있다. 이렇게 정확한 응답의 상태코드만으로 많은 정보를 전달할 수가 있기 때문에 응답의 상태코드 값을 명확히 돌려주는 것이 중요하다. 주로 사용되는 상태코드들을 정리하고자 한다. 1XX 상태 코드는 프로토콜을 교체해도 된다거나 계속 요청을 보내도 된다거나하는 식의 단순 정보성을 띄고 있는 상태를 의.. 2022. 1. 19.
HTML, HTTP API, CSR, SSR HTML, HTTP API, CSR, SSR 웹 서버의 응답 방식에 대하여 알아둘 필요가 있다. 웹은 HTTP를 기반으로 request & response 한다. 클라이언트의 요청에 따라 서버가 응답할수있는 3가지 방식에 대하여 설명하고자한다. 1.정적리소스 응답 클라이언트가 URL을 통해 요청시 서버에 이미 생성되어있는 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 클라이언트에게 제공 2. 동적 리소스 응답 클라이언트가 URL을 통해 요청시 서버에서 동적으로 필요한 HTML 파일을 생성해서 전달 클라이언트에게 제공 3. HTTP API 응답 HTML이 아니라 데이터포멧을 전달한다. 주로 JSON 형식 브라우저뿐 아니라 다양한 시스템과의 통신이 가능하다. 데이터만 주고 받음, 데이터활용은 클.. 2021. 11. 17.