intellij
설치 방법
JDK 12
설치
package com.example.study.controller;
import com.example.study.model.SearchParam;
import com.example.study.model.SearchParam;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api") // Localhost:8080/api
public class GetController {
@RequestMapping(method = RequestMethod.GET, path = "/getMethod") //Localhost:8080/api/getMethod
public String getRequest(){
return "Hi getMethod";
}
@GetMapping("/getParameter") // Localhost:8080/api/getParameter?id=1234&password=abcd
public String getParameter(@RequestParam String id, @RequestParam(name = "password") String pwd){
String password = "bbbb";
System.out.println("id : " +id);
System.out.println("pwd : " + pwd);
return id+pwd;
}
// Localhost:8080/api/multiParameter?account=abcd&email=study@gmail.com&page=10 --길어진다면?
@GetMapping("/getMultiParameter")
public SearchParam getMultiParameter(SearchParam searchParam){
System.out.println(searchParam.getAccount());
System.out.println(searchParam.getEmail());
System.out.println(searchParam.getPage());
return searchParam; // searchParam으로 return 할시에 위에 같이 json형식으로 리턴 된다 --> {"account" : "", "email" : "", "page" :0}
}
}
@RequestMapping("/api)
로 Localhost:8080/api
로 매칭시켜 준다.getRequest
로 설정하고 같은 방법으로 @RequestMapping
(어떤 방법으로(Method
), 주소는(path
)를 설정 시켜준다) api
의 하위인 getMethod
로 요청이 되면 getRequest
로 들어오는 형식GetMapping
은 @RequestMapping
과 다르게 Method를 지정하지 않고 주소만 지정해주어도 된다.getParameter
값을 받아주기 위해 @ReauestParam
이라는 annotation을 사용한다.package com.example.study.controller;
import com.example.study.model.SearchParam;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api")
public class PostController {
// HTML <Form>
// ajax 검색
// http post에 body -> data
// json, xml, mutipart-form / test-plain
@PostMapping(value = "/postMethod")
public SearchParam postMethod(@RequestBody SearchParam searchParam){
return searchParam;
}
}
@RequestBody
를 사용하게 되면 Body의 text가 searchParam
으로 들어가 json
방식으로 나타남