gwooden_코린이

스프링 부트 RestAPI 본문

스프링 부트

스프링 부트 RestAPI

gwooden22 2023. 2. 17. 15:39
728x90

1. 스프링 부트 RestAPI

@RestController
public class RESTController {

}

@Controller + @responseBody = @RestController

 

 

	/* 4가지 요청방식 */
	
	@GetMapping("/test")
	public String getTest() {
		return "get요청";
	}
	
	@PostMapping("/test")
	public String postTest() {
		return "post요청";
	}
	
	@PutMapping("/test")
	public String putTest() {
		return "put요청";
	}
	
	@DeleteMapping("/test")
	public String deleteTest() {
		return "delete요청";
	}


get을 제외한 post, put, delete는 직접 확인이 어려워 postmas이라는 api 플랫폼을 이용해 확인을 해볼 수 있다.

결과는 아래에서 확인이 가능하다.

 

그리고 요청날린걸 확인하기 위해서는 서버가 실행중이어야 한다.

필자는 sts가 실행중인 상태에서 확인을 해보았다



package com.example.restapi;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@AllArgsConstructor //매개변수를 다 받는 생성자
public class UserVO {
	
	private Integer id;
	private String name;
	private String pw;

}
	@GetMapping("/test")
	public UserVO getTest() {
		
		UserVO vo = new UserVO(1, "티모", "1234");
		
		return vo;
	}


@GetMapping("/test")
	public List<UserVO> getTest() {
		
		UserVO vo = new UserVO(1, "티모", "1234");
		UserVO vo2 = new UserVO(2, "베인", "4321");
		
		List<UserVO> list = new ArrayList<>();
		
		list.add(vo);
		list.add(vo2);
		
		return list;
	}


@PostMapping("/test")
	public String postTest(UserVO vo) {
		
		System.out.println(vo.getId());
		System.out.println(vo.getName());
		System.out.println(vo.getPw());
		
		return "post요청";
	}


제이슨형태로 주고 받을때는 @requestBody로 매개변수에 어노테이션을 넣어줘야지 vo객체에 저장을 해준다. 하지만 이렇게만 설정하면 들어가긴 했지만 오류가 나서 이 오류를 없애려면 기본생성자를 추가해야 된다. 

public String postTest(@RequestBody UserVO vo)
@NoArgsConstructor


@PutMapping("/test")
	public String putTest(@RequestBody UserVO vo) {
		
		System.out.println(vo.getId());
		System.out.println(vo.getName());
		System.out.println(vo.getPw());
		
		return "put요청";
	}


@DeleteMapping("/test")
	public String deleteTest(@RequestParam Integer id) {
		
		
		
		return "delete요청" + id;
	}

 

	@DeleteMapping("/test/{id}")
	public String deleteTest(@PathVariable Integer id) {
		
		return "delete요청" + id;
	}

728x90
Comments