@RestController
**@RequestMapping**("/get-api")
public class getController {
// http://localhost:8080/get-api/hello
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String getHello() {
return "Hello World";
}
}
@RequestMapping
+ GET method의 조합**@GetMapping**(value = "/name")
public String getName() {
return "Flature";
}
@RequestMapping
+ POST method의 조합@RequestBody
를 이용하여 body 안에 담겨있는 값을 받아야 함@P**@PostMapping**(value = "/member")
public String postMember(@RequestBody Map<String, Object> postData) {
StringBuilder sb = new StringBuilder();
postData.entrySet().forEach(map -> {
sb.append(map.getKey() + " : " + map.getValue() + "\n");
});
return sb.toString();
}
@PathVariable
의 이름과 파라미터의 이름이 같으면 생략 가능@GetMapping(value = "/variable2/{variable}")
public String getVariable2(**@PathVariable** String variable) {
return var;
}
@PathVariable
의 이름과 파라미터의 이름이 다르면 생략 불가능, 직접 지정해줘야 함@GetMapping(value = "/variable2/{variable}")
public String getVariable2(@PathVariable("variable") String var) {
return var;
}
@GetMapping(value = "/request1")
public String getRequestParam1(
@RequestParam String name,
@RequestParam String email,
@RequestParam String organization) {
return name + " " + email + " " + organization;
}
@GetMapping(value = "/request2")
public String getRequestParam2(@RequestParam Map<String, String> param) {
StringBuilder sb = new StringBuilder();
param.entrySet().forEach(map -> {
sb.append(map.getKey() + " : " + map.getValue() + "\n");
});
return sb.toString();
}
public class MemberDTO {
private String name;
private String email;
private String organization;
...
}
@GetMapping(value = "/request3")
public String getRequestParam3(MemberDTO memberDTO) {
return memberDTO.toString();
}
@PostMapping(value = "/member2")
public String postMemberDto(@RequestBody MemberDTO memberDTO) {
return memberDTO.toString();
}
@PostMapping
에서는 @RequestBody
를 붙이지 않으면 memberDTO에 null 값이 들어옴참고 영상
GET API 만드는 다양한 방법 실습 [ 스프링 부트 (Spring Boot) ]
POST API를 작성하는 여러가지 방법 [ 스프링 부트 (Spring Boot) ]