본문 바로가기
카테고리 없음

RestController

by 찡콩찡 2022. 8. 16.

@RestController는 무엇일까?

 : @Controller + @ResponseBody가 결합!

:  메서드에 @ResponseBody 어노테이션을 붙이지 않아도 문자열과 JSON을 전송할 수 있음!!

@RestController를 사용하려면! 

 : spring version을 확인해본다. 

   이 어노테이션은 Spring 4.x부터 사용 가능하기 때문이다!! 


1. Jackson-databind meaven 검색하기

 

2. 버전 선택하기

 

3. pome.xml에 추가 한 후에 meaven_update를 진행하기

4. Controller작성하고 실행

package kr.kopo.controller;

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

@RestController
@RequestMapping("/sample")
public class SampleController {
	@GetMapping(value="/getText", produces="text/plain; charest=utf-8")
	public String getText() {
		return "안녕하세요";
	}

}

5. damain packagae에 SampleVO Class를 만든다.

package kr.kopo.domain;

public class SampleVO {
	private Integer mno;
	private String firstname;
	public SampleVO() {
		super();		
	}
	public SampleVO(Integer mno, String firstname, String lastName) {
		super();
		this.mno = mno;
		this.firstname = firstname;
		this.lastName = lastName;
	}
	private String lastName;
	public Integer getMno() {
		return mno;
	}
	public void setMno(Integer mno) {
		this.mno =mno;
	}
	public String getFirstname() {
		return firstname;
	}
	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	
}

6. Controller에 getSample url 경로를 만들어본다. 

package kr.kopo.controller;

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

import kr.kopo.domain.SampleVO;

@RestController
@RequestMapping("/sample")
public class SampleController {
	@GetMapping(value="/getText", produces="text/plain; charest=utf-8")
	public String getText() {
		return "안녕하세요";
	}
	
	@GetMapping(value="/getSample") 
	public SampleVO getSample() {
		return new SampleVO(112, "star", "burn");
	}
}