프로필사진
RESTful(4) - @RestController 사용하기 (단순문자열, 객체타입, List타입, Map타입)

2019. 11. 26. 11:06🔴 Spring

300x250

@RestController

→ @Responsebody없이도 처리됨 (생략)

@Controller와는 다르게 @RestController는 리턴값에 자동으로 @ResponseBody를 붙게되어 HTTP 응답데이터(body)에 자바 객체가 매핑되어 전달 된다고 한다.
( ※ @Controller인 경우에는 @ResponseBody를 적어줘야 합니다. )


1. 단순 문자열

문자열 데이터 → 기본적으로 text/html 타입으로 처리됨, 일반 문자열이 반환

<RestAPIController.java>

package com.bitcamp.mvc;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
//@RequestMapping("/restapi/{id}")
public class RestAPIController {
	
	// @GetMapping(value = "/restapi/hello") -> method방식이 GET으로 정해져있는 것
	@RequestMapping(name = "/restapi/hello", method = RequestMethod.GET)
	public String hello() {
		return "hello";
	}
	
}

2. 객체 타입

// 객체 타입
	@RequestMapping("/restapi/login")
	public Login login() {
		
		Login login = new Login();
		login.setuId("cool");
		login.setuPw("123456");
		
		return login;
	}

3. list 방식

// list방식
	@RequestMapping("/restapi/loginList")
	public List<Login> loginList() {
		
		List<Login> list = new ArrayList<Login>();
		
		Login login = new Login();
		login.setuId("cool");
		login.setuPw("123456");
		
		list.add(login);
		
		login = new Login();
		login.setuId("hot");
		login.setuPw("789");
		
		list.add(login);		
		
		return list;
	}

4. map 방식

// map방식
	@RequestMapping("/restapi/loginMap")
	public Map<String, Login> loginMap() {
		
		Map<String, Login> maps = new HashMap<String, Login>();
		
		Login login = new Login();
		login.setuId("cool");
		login.setuPw("123456");
		
		maps.put("1", login);
		
		login = new Login();
		login.setuId("hot");
		login.setuPw("789");
		
		maps.put("2", login);	
		
		return maps;
	}

300x250