restapi 3

spring hateoas

rest api 에서 hateoas 가 필요한 이유? → rest의 개념 자체가 http url를 통해 자원(resource)을 명시하고 http method(get, post, put, delete)를 통해 해당 자원에 대한 crud operation을 적용 하는 것을 의미한다. 이때 url 즉 링크를 위해서 우리는 hateoas를 사용한다. hateoas사용시 spring boot 가 hateoas 설정을 자동으로 해주기 때문에 우리가 따로 설정해 주지 않아도 된다. hateoas란? rest api를 사용하는 클라이언트가 전적으로 서버와 동적인 상호작용이 가능하게 하는 것을 말한다. 이러한 방법은 클라이언트가 서버로부터 어떠한 요청을 할 때, 요청에 필요한 url를 응답에 포함 시켜 반환하는것으로 ..

JAVA 2022.08.01

[JAVA] API 구현 시 테스트 개발

@WebMvcTest MockMvc 빈을 자동 설정 해준다. 그냥 가져와서 쓰면 됨. 웹 관련 빈만 등록해준다. @MockMvc 스프링 MVC 테스트 핵심 클래스 웹 서버를 띄우지 않고도 요청을 처리하는 과정을 확인가능 → 컨트롤러 테스트용으로 자주 쓰임 테스트 내용 1. 입력값들을 전달하면 JSON 응답으로 201 값이 나오는지 확인 - Location 헤더에 생성된 이벤트를 조회할 수 있는 URI 담겨있는지 확인 - id는 DB에 들어갈 때 자동 생성된 값으로 나오는지 확인 @RestController @ResponseBody를 모든 메소드에 적용한 것과 동일 ResponseEntity를 사용하는 이유 응답코드, 헤더, 본문, 모두 다루기 편한 API Locatio..

JAVA 2022.06.02

[JAVA] CRU API

회원등록 API를 만들때 controller에서 entity를 파라미터로 받아서 사용하지 말자. entity는 굉장히 여기저기서 사용되므로 이름이 바뀌거나 하기 쉽다. 근데 이때 이름이 바뀌면 API 스펙이 바뀌므로 API가 작동이 안될수 있다. 따라서 API 를 개발할 때는 controller 에서 DTO를 사용하자! @RestController // Controller + ResponseBody -> 데이터를 바로 json이나 xml로 보내자! @RequiredArgsConstructor public class MemberApiController { private final MemberService memberService; @PostMapping("/api/v1/members") public Cre..

JAVA 2022.05.17