반응형
@RequestMapping
- value와 method로 정의하여 API 개발하는 방식. 이제는 고전적인 방식이라 사용하지 않음.
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String getHello() {
return "Hello World";
}
@GetMapping (without Param)
- 별도의 파라미터 없이 GET API를 호출하는 경우 사용되는 방법
@GetMapping(value = "/name")
public String getName() {
return "namee";
}
@PathVariable
- GET 형식의 요청에서 파라미터를 전달하기 위해 URL에 값을 담아 요청하는 방법. 아래 방식은 @GetMapping에서 사용된 {변수}의 이름과 메소드의 매개변수와 일치시켜야 함
@GetMapping(value = "/variable1/{variable}")
public String getVariable1(@PathVariable String variable) {
return variable;
}
변수 관리를 쉽게하기 위해 사용되는 방식
@GetMapping(value = "/variable2/{variable}")
public String getVariable2(@PathVariable("variable") String var) {
return var;
}
@RequestParam
- GET 형식의 요청에서 쿼리 문자열을 전달하기 위해 사용되는 방법. '?'를 기준으로 우측에 {key}={value}의 형태로 전달되며, 복수 형태로 전달할 경우 &를 사용함.
@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();
}
DTO 사용
- GET 형식의 요청에서 쿼리 문자열을 전달하기 위해 사용되는 방법. key와 value가 정해져있지만, 받아야 할 파라미터가 많을 경우 DTO 객체를 사용한 방식
@GetMapping(value = "/request3")
public String getRequestParam3(MemberDTO memberDTO) {
return memberDTO.toString();
}
public class MemberDTO {
private String name;
private String email;
private String organization;
...
}
반응형
'Spring' 카테고리의 다른 글
Lombok 정리 노트 (0) | 2022.11.01 |
---|---|
POST, PUT, DELETE API + Swagger 라이브러리 노트 (0) | 2022.10.31 |
MVC Pattern 노트 (0) | 2022.10.29 |
Maven - pom.xml 파일 노트 (0) | 2022.10.28 |
REST API 노트 (0) | 2022.10.27 |
댓글