SPRING/WEBSERVICE

[Resutful 학습] - 기본적인 Rest 구현

JUMP개발자 2020. 5. 18. 00:50

Rest API 의 경우 아래와 같이 RestController를 사용한다.

RestController는 아래와같이 @GetMapping, @PostMapping 등의 어노테이션을 사용하여 HTTP 메서드를 구분한다.

 

package com.example.demo.helloworld;

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


@RestController
public class HelloWorldController {

	// GET
	// /hello-world (endpoint)
	// @RequestMapping(method=RequestMethod.GET, path="/hello-world")
	@GetMapping(path = "/hello-world")
	public String helloWolrd() {
	
		return "Hello World";
	}
	// {name}은 PathVariable이기 때문에 아래와 같이 어노테이션을 붙임.
	@GetMapping(path = "/hello-world-bean/path-variable/{name}")
	public HelloWorldBean helloWolrdBean(@PathVariable String name) {
	
		return new HelloWorldBean(String.format("Hello World %s", name));
	}
	
}

 

아래와 같이 HellowWorldBean 클래스를 생성해야 위에서 HelloWorldBean 메시지를 return 할 수 있다.

아래 소스의 어노테이션은 Lombok을 사용하였다.  어노테이션을 통해서 생성자들을 생성하였다.

특히 @Data 어노테이션은 getter, setter, toString 등 여러가지 기능을 갖고 있다.

package com.example.demo.helloworld;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
 
@Data
@AllArgsConstructor
@NoArgsConstructor
public class HelloWorldBean {

	private String message;
	
}

 

아래와 같이 PostMan을 이용하여 Rest Controller에 url을 호출하면 아래와 같이 response가 나온다.

Rest API를 구현할 때는 PostMan을 사용하여 테스트하는 것이 편리하다.