상세 컨텐츠

본문 제목

스프링 Restful API 사용법 예제 @RestController

Spring

by shika 2022. 2. 12. 18:48

본문

RestFul API 서버는 응답결과를 데이터으로 구성하여 클라이언트로 전달하는 서버를 의미한다.

RestFul API 서버는 웹, 모바일 등 다양한 플랫폼으로 데이터를 전달할 때 사용한다.

 

스프링에서는

@RestController 를 통해서 구현한다.

@RestController를 사용하면 return하는 그값 자체를

브라우저로 전달하는 응답결과로 생성하여 보내게 된다.

 

 

RestController를 잘 사용하기 위해서는

pom.xml에

jackson을 검색해서 받아준 후 사용하자.

 

만약

@RestController에

@GetMapping("/test2")
	public String test2() {
		return "test2";
	}

이렇게 한다면 화면에는 return 값인

test2 만 출력되게 될 것이다.

(이건 test2.jsp 이런 파일이 없어도 걍 아무것도 없어도 알아서 출력이 된다)

바로 이렇게 말이다. (test2.jsp 없다)

 

그럼 이제 객체를 만들고 제대로 RestfulAPI를 활용해보자.

먼저 DataBean객체를 만들어주자.

public class DataBean {
	
	private String data1;
	private int date2;
	private double data3;
	private boolean data4;
	
	public DataBean(String data1, int date2, double data3, boolean data4) {
		this.data1 = data1;
		this.date2 = date2;
		this.data3 = data3;
		this.data4 = data4;
	}
	
	public String getData1() {
		return data1;
	}
	public void setData1(String data1) {
		this.data1 = data1;
	}
	public int getDate2() {
		return date2;
	}
	public void setDate2(int date2) {
		this.date2 = date2;
	}
	public double getData3() {
		return data3;
	}
	public void setData3(double data3) {
		this.data3 = data3;
	}
	public boolean isData4() {
		return data4;
	}
	public void setData4(boolean data4) {
		this.data4 = data4;
	}
}

그 이후에 @RestController에서 이 객체를 사용하자.

@RestController
public class RestTestController {
	
	@GetMapping("/test2")
	public ResponseEntity<ArrayList<DataBean>> test2() {
		//바로위 리턴의 형태를 잘 맞춰주도록 하자
		
		DataBean bean1 = new DataBean("문자열1", 100, 11.11, false);
		DataBean bean2 = new DataBean("문자열2", 200, 22.22, true);
		DataBean bean3 = new DataBean("문자열3", 300, 33.33, false);
		
		ArrayList<DataBean> list = new ArrayList<DataBean>();
		list.add(bean1);
		list.add(bean2);
		list.add(bean3);
		
		//json객체로 만들기 위한 코드
		ResponseEntity<ArrayList<DataBean>> entry = 
				new ResponseEntity<ArrayList<DataBean>>(list, HttpStatus.OK);
		//브라우저에게 보낼 응답결과가 정상적인 데이터라고 알려주는것이 HttpStatus.OK이다.
		//json데이터를 구성할 객체를 파라미터의 ,앞부분인 (여기서는 list)에 넣어주면 된다.
		return entry;
	}
}

마지막의 ResponseEntity는 json객체로 만들기 위한 코드이다.

이렇게 사용한다면

출력시에 

이렇게 나오게 된다.

(이것도 test2.jsp없음 그냥 바로 json으로 만들어진 페이지가 출력된다)

 

spring의 RestController

RestFul API는 값을 바로 전달하거나

json의 형태로 전달할 때 많이 사용한다.

 

특히 현재 많이 애용되고 있는 방식이라고 하니

잘 알아두도록 하자.

 

'Spring' 카테고리의 다른 글

스프링 <c:url> 예제 (<c:set>)  (0) 2022.02.20
스프링 @Bean과 @Component  (0) 2022.02.20
Spring JDBC MyBatis 설정법  (0) 2022.02.12
스프링 예외처리 @ExceptionHandler, @ControllerAdvice 예제  (0) 2022.02.07
스프링 Interceptor  (0) 2022.02.06

관련글 더보기

댓글 영역