코딩하는 문과생
[Spring] Spring 프레임워크(3) - Rest API 본문
[Restful API]
대부분 Open API는 REST 방식으로 지원되고 있다.
[ REST API: HTTP URI(제어할 자원을 명시) + HTTP Method(제어하는 명령) ]
[JSON: JavaScript Object Notation]
경량의 데이터 교환 형식
-
name-value형식
-
값들의 순서화된 리스트 형식
Jackson 의존성: JSON(브라우저)<-> Java 객체(백엔드)
[RestFul Api 작성하기]
0. url과 method 설계
1. RestfulController 클래스 작성 및 빈 등록
2. @RequestMapping, @RequestBody(요청시), @ResponseBody(응답시) 어노테이션을 선언
3. Postman을 사용해 각각의 메서드 테스트
4. Ajax통신을 이용하여 Restful 웹서비스를 호출하는 HTML 페이지 작성
ex. RestFul service개발 - 게시판 글 검색(응답확인)
-pom.xml 추가
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.9</version>
</dependency>
-BbsController 수정
//객체로 response한다.
@GetMapping("/{articleId}")
@ResponseBody
public Article viewDetail(@PathVariable String articleId) {
Article article = bbsService.viewArticleDetail(articleId);
return article;
}
-BbsService 추가
public Article viewArticleDetail(String articleId) {
return articleDAO.selectArticleById(articleId);
}
-ArticleDAO 추가
public Article selectArticleById(String articleId) {
Article article = new Article(10, "sijune", "test", "test,test");
return article;
}
ex. RestFul service개발 - 글쓰기(요청확인)
-BbsController 수정
//@RequestBody를 이용 - json을 객체로 받을 수 있다.
@PostMapping("/write")
@ResponseBody
public Article doWrite(@RequestBody Article article) {
Article a = article;
return a;
}
'웹 프로그래밍 > Spring' 카테고리의 다른 글
[Spring] Spring 프레임워크(5) - Spring Test (0) | 2020.03.09 |
---|---|
[Spring] Spring 프레임워크(4) - static 파일처리, 파일 업로드 (0) | 2020.03.08 |
[Spring] Spring 프레임워크(2) - Layer와 MVC패턴 (0) | 2020.03.08 |
[Spring] Spring 프레임워크(1) - 개요, Maven, IoC (0) | 2020.03.08 |
[Spring] 8. 스프링 기본(7) - Interceptor (0) | 2020.02.07 |