코딩하는 문과생

[Spring] Spring 프레임워크(3) - Rest API 본문

웹 프로그래밍/Spring

[Spring] Spring 프레임워크(3) - Rest API

코딩하는 문과생 2020. 3. 8. 22:41

[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;
	}

postman 결과
브라우저 결과

ex. RestFul service개발 - 글쓰기(요청확인)

-BbsController 수정

	//@RequestBody를 이용 - json을 객체로 받을 수 있다.
	@PostMapping("/write")
	@ResponseBody
	public Article doWrite(@RequestBody Article article) {
		Article a = article;
		return a;
	}

입력, 결과 모두 JSON