본문 바로가기
Spring

Get API 만드는 방법 노트

by SuldenLion 2022. 10. 30.
반응형

@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

댓글