728x90
@RequestMapping
- client에서 오는 요청을 처리하기 위한 api url을 매핑할 때 사용하는 어노테이션. 메소드 형식(GET, POST, PUT, DELETE) 지정
@RequestMapping(method = RequestMethod.GET ...)
@RequestMapping(method = RequestMethod.POST ...)
@RequestMapping(method = RequestMethod.PUT ...)
@RequestMapping(method = RequestMethod.DELETE ...)
controller 패키지 생성 > GetController 클래스 생성
package com.example.day1.controller;
import com.example.day1.model.MultiParam;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api") // localhost:8080/api
public class GetController {
// localhost:8080/api/getMethod(get)
@RequestMapping(method = RequestMethod.GET, path="/getMethod") // 메소드 형식 : GET
public String getRequest() {
return "getRequest() 호출";
}
}
@GetMapping
- GET 요청 방식의 API를 만들때 사용하는 방식. @RequestMapping(method = RequestMethod.GET ...) 방식도 있지만, @GetMapping을 이용하는 방법도 있음.
@GetMapping("/getMethod")
package com.example.day1.controller;
import com.example.day1.model.MultiParam;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api") // localhost:8080/api
public class GetController {
// localhost:8080/api/getParameter?userid=apple&userpw=1234
@GetMapping("/getParameter")
public String getParameter(@RequestParam String userid, @RequestParam(name="userpw") String password) { // 메소드 내부에서 다른 매개변수명으로 사용하고 싶을 때 (name="")을 붙여준다. -> userpw로 받아서 password로 사용
String userpw = "1111";
System.out.println("userid : " + userid);
System.out.println("userpw : " + password);
return "getParameter() 호출";
}
}
여러 개의 파라미터 전달
package com.example.day1.controller;
import com.example.day1.model.MultiParam;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api") // localhost:8080/api
public class GetController {
/*
userid, userpw, name, gender, email, age
// localhost:8080/api/getMultiParameter?userid=apple&userpw=1234&name=김사과&gender=여자&email=apple@apple.com&age=20
*/
@GetMapping("/getMultiParameter")
public String getMultiParameter(
@RequestParam String userid,
@RequestParam String userpw,
@RequestParam String name,
@RequestParam String gender,
@RequestParam String email,
@RequestParam int age
) {
return userid + " " + userpw + " " + name + " " + gender + " " + email + " " + age;
}
}
객체를 파라미터로 전달
package com.example.day1.model;
public class MultiParam {
String userid;
String userpw;
String name;
String gender;
String email;
int age;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUserpw() {
return userpw;
}
public void setUserpw(String userpw) {
this.userpw = userpw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.example.day1.controller;
import com.example.day1.model.MultiParam;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api") // localhost:8080/api
public class GetController {
// localhost:8080/api/getMultiParameter2?userid=apple&userpw=1234&name=김사과&gender=여자&email=apple@apple.com&age=20
@GetMapping("/getMultiParameter2")
public MultiParam getMultiParameter2(MultiParam multiParam) { // 객체를 파라미터로 전달 받을 때
System.out.println(multiParam.getUserid());
System.out.println(multiParam.getUserpw());
System.out.println(multiParam.getName());
System.out.println(multiParam.getGender());
System.out.println(multiParam.getEmail());
System.out.println(multiParam.getAge());
return multiParam; // 객체가 json 형식으로 바껴서 클라이언트에게 전송
}
}
객체를 리턴하면 json 형식으로 변환되어 클라이언트에게 전달된다.
728x90
'SpringBoot(JPA,Gradle)' 카테고리의 다른 글
[SpringBoot] DB테이블 연결할 Class 생성 (0) | 2022.06.22 |
---|---|
[SpringBoot] Spring Boot와 Oracle 19C 연결 (0) | 2022.06.21 |
[SpringBoot] 프로젝트 실행 방법 및 포트 번호 변경 (0) | 2022.06.17 |
[SpringBoot] 스프링 프로젝트 구조 (0) | 2022.06.17 |
[SpringBoot] IntelliJ IDEA 설치 및 프로젝트 생성 (0) | 2022.06.17 |