티스토리 뷰
1. REST의 가장 일반적인 사용은 Http 프로토콜을 통해서 이다.
2. HTTP 프로토콜의 CRUD를 활용한다. POST(create)/ GET(read)/ PUT(update)/ DELETE(delelet)
3. Rest API 테스트나 api 제공 사이트
2. https://www.programmableweb.com/
3. https://jsonplaceholder.typicode.com/
4. 스프링에서 REST 지원은 Web MVC라이브러리가 같이하고 있다.
4-1 스프링 webmvc는 @RestController를 지원하고 있고 Rest요청을 처리한다.
4-2 전 포스트에서 언급한 대로 jackson data bind가 dependency에 있으면 자동변환을 실행한다.
5. 세팅하는 방법 - org.apache.maven webapp 1.4를 사용하였고 생성방법은 이전 포스트와 동일하다.
5-1 의존성 설정
5-1-1 Spring webmvc, jackson data bind, 기본적인 servlet api가 필요하다.
5-1-2 이전에는 webmvc를 포함하면서 core, context를 같이 넣었는데, 사실 불필요하다. webmvc만 넣어도 된다.
<!-- spring webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
<!-- auto json binding -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.0</version>
</dependency>
<!-- servlet container 지원 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
5-2 WebConfig 작성하기
5-2-1 REST 서버도 web이기 때문에 동일한 형식으로 작성한다.
5-2-1-1 WebMvcConfigurer를 구현하는데 굳이 안해도 되지만 습관 처럼하는 것도 괜찮다.
package pe.pilseong.rest_test.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@EnableWebMvc
@Configuration
@ComponentScan(basePackages = "pe.pilseong.rest_test")
public class WebConfig implements WebMvcConfigurer {
}
5-2-2 이제 servlet 설정이 필요하다.
package pe.pilseong.rest_test.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class WebDispatcherServlet extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { WebConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
5-2-3 마지막 Controller 설정이다.
5-2-3-1 여기서는 간단하게 환영 메시지를 찍어주는 코드이다.
5-2-3-2 중요한 것은 Controller를 @RestController로 지정하는 것이다.
package pe.pilseong.rest_test.restcontroller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoRestController {
@GetMapping("/hello")
public String hello() {
return "Hello pilseong!";
}
}
'Spring > Spring REST' 카테고리의 다른 글
Spring : REST 전역 예외 처리 (0) | 2020.05.21 |
---|---|
Spring : REST 컨트롤러 예외처리 (0) | 2020.05.21 |
Spring : REST - @PathVariable 사용하기 (0) | 2020.05.21 |
Spring : REST - Collection 객체 전송하기 (0) | 2020.05.21 |
Spring : 기본적인 REST Controller (0) | 2020.04.26 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- form
- 매핑
- XML
- Spring Security
- crud
- 설정하기
- hibernate
- MYSQL
- spring boot
- 설정
- RestTemplate
- 스프링부트
- one-to-many
- 로그인
- Angular
- mapping
- jsp
- 하이버네이트
- 외부파일
- login
- Rest
- Spring
- Many-To-Many
- 자바
- Validation
- 상속
- 스프링
- WebMvc
- Security
- one-to-one