이전 시리즈 - Spring-todo에서는 스프링부트를 통해 todo 어플리케이션을 만들며, 스프링부트의 사용법을 배웠었다. 하지만, 이번 REST API - Spring Boot에서는 스프링부트로 REST API를 만드는 방법에 대해 배울 것이다.REST API에서
helloworld 패키지에 HelloWorldController를 만들었다.1단계에서 배운 핵심부터 말하자면, @RestController는 @Controller와 @ResponseBody가 합쳐진 어노테이션이다!해당 컨트롤러를 REST API 컨트롤러로 지정하는 @
1번. request(http request URL)들은 어떻게 해결되고 있는지? 결론 : SpringBoot가 자동설정해주는 DispatcherServlet을 통해, 모든 request URL을 받아, 각 url에 맞는 컨트롤러를 매핑시켜준다. Spring MVC
참고링크 - 내가 정리한 시리즈 글 링크 path parameter의 의미와 예제를 살펴보자!스프링 MVC 컨트롤러에서 @PathVariable을 사용하는 간단한 예제를 다음과 같다.위의 예제에서 @GetMapping("/{id}")는 /api/users/{id} 형태
Hello World REST API로 REST API에 대한 간단한 내용을 배웠으니, 이번에는 SNS 어플리케이션용 REST API를 빌드시켜보겠다. 1. SNS 어플리케이션 REST API에서 만들 것들 2가지 resources - user와 post 두 가지
앞선 단계에서, REST API를 어떤 식으로 설계할 건지를 소개했으니, 이제는 SNS 어플리케이션용 REST API를 만들 차례이다.SNS REST API에서의 핵심 resource들은 users와 posts이다. 이번 포스팅에서는 Users에 대한 처리를 해주겠다.
User REST API의 설계부분에서,Retrieve all Users - GET /usersRetrieve one User - GET /users/{id}이 2가지 기능을 만들어보자!즉, User Resource에서 GET method 관련 기능을 만들고, 정리해보
이번에는 user를 추가하는 REST API를 만들 것이다.POST /users메서드 파라미터를, web request의 body와 bind시키라는 어노테이션. (@ResponseBody와 반대)web request를 서버로 보낼 때, request body와 함께 보
404 -> Resource is not found (ex- 존재하지 않는 url 반환)500 -> Server Exception 400 -> Validation error201 -> Created (ex - POST 요청으로 새 리소스 생성했을 때)이렇게 다양한 HT
현재 존재하는 user가 3명인데, /users/5 URL과 같이, 존재하지 않는 user를 요청하면,다음과 같이, Optional.get()메서드 부분에서 에러가 난다는 메세지와 함께 Whitelabel Error Page가 나타난다. 하지만, Whitelabel E
위와 같이, 예외 발생 시 반환하는 응답의 구조를 customize하고자 한다!앞에서 봤듯이, custom response structure에는 timestamp, message, details 멤버변수로 구성되었다.이를 저장할 자바 클래스를 만들었다.예외가 발생하면,
User resource에 대해 GET, POST method까지 구현했으니, 이번 포스팅에서는 Delete method를 만들자!DELETE /users/{id} -> /users/1참고 및 출처이 시리즈는 Udemy 강의의 내용을 정리한 것입니다.https:
POST http://localhost:8080/users with Validation Errors아래와 같이 null 값인 name을 request를 보낼 때, Validation Failed 라고 알려주는 것을 추가해주고 싶다!현재 POST /users과
지금까지의 포스팅에서는 기본 REST API에 대해 배웠다.resource 만드는 법, resource에서 작업을 수행하는 법, REST API에 대한 유효성 검사 실행하는 법 등등..이번 포스팅부터는 REST API의 고급 기능을 살펴보겠다!DocumentationR
localhost:8080/users URL에 대해, 소비자들은 JSON 형식의 응답을 원할수도, 혹은 xml 형식의 응답을 원할수도 있다. 또한, 소비자는 자국의 언어에 맞는 response를 원할 수도 있다.그렇다면 소비자는 어떻게 REST API 제공자에게 그들이
이전 포스팅에서 content negotiation을 배울 때, Accept-Language header를 이용하면, 원하는 언어에 맞는 response를 받을 수 있다고 했었다. 해당 방법에 대해 정리해보자.스프링과 스프링부트에서 국제화를 다루는 일반적인 방법은, 파
위의 사진처럼, 어떤 사용자는 name만 response해주는 REST API를 원할수도 있고, 어떤 사용자는 firstName과 lastName을 각각 response해주는 REST API를 원할수도 있다!그렇다면, 해결책은 REST API를 Versioning하는
사용자는 request parameter를 통해 원하는 버전을 선택할 수 있다는 뜻!1\. 뭘 만들건지 구조화Request Param VersioningV1 : http://localhost:8080/person?version=1@GetMapping(path=
HATEOAS == Hypermedia as the Engine of Application State 의 약어이다.한마디로, 내가 만든 REST API의 resource간에 hyperlink를 만드는 방법이다!\_links -> 해당 링크는 resource간의 hype
참고 및 출처이 시리즈는 Udemy 강의의 내용을 정리한 것입니다.https://www.udemy.com/course/spring-boot-and-spring-framework-korean/
앞선 포스팅에서 언급했던, 동적 필터링이란 무엇일까?정적 필터링과 달리, 같은 빈이라도 REST API에 따라 다른 property를 JSON response로 반환하고 싶을 때의 필터링이다.예를 들어, filtering과 filtering-list라는 두 REST A
Spring Boot Actuator는 운영상황에서 application을 monitor하고 mangage하는 기능을 제공해준다.Spring Boot Actuator를 사용하려면, Spring Boot Starter Actuator를 add시키면 된다!Actuatorh
이제 SpringBoot 기본구조 및 기본기능, 고급기능까지 살펴봤다. 그럼 이제 데이터베이스와 스프링부트를 서로 연결하는 작업만 남았다!또한 앞서 스프링부트로 todo-list를 만들 때, JPA와 Hibernate로 H2와 연결하는 방법도 정리해두었었다.이번 포스팅
UserResource 컨트롤러가 데이터베이스와 소통하게 하려면, JpaRepository 인터페이스를 extends하는 UserRepository를 만들어야 한다!그럼 이제 실제로 데이터베이스와 소통하는 기능을 적을, UserResource코드를 update시키자!
앞 과정에서 User resource에 대한 REST API를 만들었다!GET /users, POST /users, GET /users/{id}, DELETE /users/{id}그럼 이제, Post resource에 대한 REST API를 만들 시간이다!Retriev
그럼 이제, Post resource에 대한 REST API를 만들 시간이다!Retrieve all posts for a UserGET /users/{id}/postsCreate a post for a UserPOST /users/{id}/posts이제 위의 GET A
이제, 앞선 포스팅의 인메모리 H2 DB의 내용을 똑같이 MySQL DB에 적용시켜주면 된다!todolist 웹 - MySQL DB 연결 참고h2 database와 다르기 MySQL database과 연결되면 data.sql은 실행되지 않기에, 아직 MySQL data