-
[Spring Boot] 4. Get API (스프링 부트를 배워보자.)Spring Boot 2023. 9. 16. 13:56728x90반응형
안녕하세요 나홀로전세집입니다.
오늘은 Get API를 배워보겠습니다.
Get API란?
Get와 API를 합친 단어입니다. 여기서 API는 저번 시간에 배웠던 Application Programming Interface의 약자이고,
Get은 HTTP 요청 메서드 중 하나입니다. HTTP 메서드에는 Get, Post, Put, Delete 등이 있습니다.
1. @RequestMapping
- value와 method로 정의하는 API 개발 방식입니다. 고전적인 방법이라 이제는 사용을 많이 안한다고 합니다.
아래 코드는 value를 "/hello"로 지정하고, Get으로 매핑하는 예시 코드입니다.
@RequestMapping(value = "/hello", method = RequestMethod.GET) public String hello(){ return "Hello World!"; }
위 코드가 정상적으로 실행을 했을 때 "http://localhost:8080/hello"에 Get 요청을 보내면 "Hello World!" 가 반환될 것입니다.
2. @GetMapping
- 별도의 파라미터 없이 GET API를 호출하는 경우 사용되는 방법입니다.
아래 코드는 @GetMapping의 괄호 안에 바로 value를 "/hello"로 지정하는 코드입니다.
@GetMapping("/hello") public String hello(){ return "Hello World!"; }
위 코드도 정상적으로 실행을 했을 때 "http://localhost:8080/hello"에 Get 요청을 보내면 "Hello World!" 가 반환될 것입니다.
3. @PathVariable
- GET 형식의 요청에 파라미터를 전달하기 위해 URL에 값을 담아 요청하는 방법입니다.
아래 코드에서 @GetMapping에서 사용된 {변수}의 이름과 메서드의 매개변수와 일치시켜야 합니다.
@GetMapping(value = "/variable1/{variable}") public String hello(@PathVariable String variable){ return variable; }
위 코드가 정상적으로 실행을 했을 때 "http://localhost:8080/variable1/나홀로전세집"에 Get 요청을 보내면 "나홀로전세집" 이 반환될 것입니다.
4. @RequestParam
- GET 형식의 요청에서 쿼리 문자열을 전달하기 위해 사용되는 방법입니다.
‘?’를 기준으로 우측에 {키}={값}의 형태로 전달되며, 복수 형태로 전달할 경우 &를 사용합니다.
@GetMapping(value = "/request1") public String getRequestParam1( @RequestParam String name, @RequestParam String email, @RequestParam String organization){ return name +" "+email+" "+organization; }
위 코드가 정상적으로 실행을 했을 때
"http://localhost:8080/request1?name=나홀로전세집&email=a@a.com&organization=학생"에 Get 요청을 보내면
"나홀로전세집 a@a.com 학생" 이 반환될 것입니다.
위 방식 말고 Map 형식으로 요청 값을 줄 수도 있습니다.
@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(); }
위 코드가 정상적으로 실행을 했을 때
"http://localhost:8080/request2?name=나홀로전세집&email=a@a.com&organization=학생"에 Get 요청을 보내면
"
name : 나홀로전세집
email : a@a.com
organization : 학생
"
이 반환될 것입니다.
5. DTO 사용
- DTO는 Data Transfer Object의 약자로 데이터 전송을 위한 객체를 나타냅니다.
public class MemberDTO { private String name; private String email; private String organization; . . . @Override public String toString() { return "MemberDTO{" + "name='" + name + '\'' + ", email='" + email + '\'' + ", organization='" + organization + '\'' + '}'; } }
위와 같이 MemberDTO 클래스가 있다고 가정했을 때
@GetMapping(value="/request3") public String getRequestParam3(MemberDTO memberDTO){ return memberDTO.toString(); }
위 처럼 코드를 작성하고 정상적으로 실행이 됐을 때
"http://localhost:8080/request3?name=나홀로전세집&email=a@a.com&organization=학생"에 Get 요청을 보내면"MemberDTO{name='나홀로전세집', email='a@a.com', organization='학생'}" 라고 반환될 것 입니다.
오늘은 Get API를 배워봤습니다.
다음에는 Post API를 포스팅 해보겠습니다.
앞으로 쉬지 않고 열심히 공부해보도록 노력하겠습니다.
오늘도 즐코딩 하시고 좋은 하루 되세요~
728x90반응형'Spring Boot' 카테고리의 다른 글
[Spring Boot] 6. Lombok (스프링 부트를 배워보자.) (2) 2023.09.18 [Spring Boot] 5. Post, Put, Delete API (스프링 부트를 배워보자.) (3) 2023.09.18 [Spring Boot] 3. MVC 패턴 (스프링 부트를 배워보자.) (0) 2023.09.16 [Spring Boot] 2. REST API (스프링 부트를 배워보자.) (38) 2023.09.15 [Spring Boot] 1. 디자인 패턴 (스프링 부트를 배워보자.) (39) 2023.09.15