반응형
Spring Boot
GetMapping
PostMapping
Table 구조가 아래와 같을때 관련된 파라메터를 받겠습니다.
GetMapping
@PathVariable
@GetMapping("cityAdd/{name}/{countryCode}/{district}/{population}")
public Object cityAdd(@PathVariable(value="name") String name
, @PathVariable(value="countryCode") String ctCode
, @PathVariable(value="district") String district
, @PathVariable(value="population") int population) {
log.debug("name = {}, ctCode = {}, district = {}, population ={}", name, ctCode, district, population);
return "ok";
}
호출 : http://localhost:8000/info/cityAdd/TEST/TST/Seoul/100
결과 :
@RequestParam
@GetMapping("cityAdd")
public Object cityAdd(@RequestParam(value="name", required=true) String name
, @RequestParam(value="countryCode", required=true) String ctCode
, @RequestParam(value="district", required=true) String district
, @RequestParam(value="population", required = false, defaultValue = "0") int population) {
log.debug("name = {}, ctCode = {}, district = {}, population ={}", name, ctCode, district, population);
return "ok";
}
value 는 url 에서의 parameter 명 입니다.
우선 테스트로 파라메터만 받아서 로그를 찍어보면
http://localhost:8000/info/cityAdd?name=TEST&countryCode=TST&district=Seoul&population=100
@RequestParam 과 @PathVariable 을 같이 사용할 수 있습니다.
파라메터로 받는 필드들이 City Class 에 다 있는거니까 아래처럼 간단히 쓸수있습니다.
@GetMapping(value="cityAdd")
public Object cityAdd(City city) {
log.debug("city = {}", city.toString());
return "ok";
}
호출은 위와 똑같이 하면 됩니다.
PostMapping
요청 파라메터가 JSON 일 때
@PostMapping(value="cityAdd")
public ResponseEntity<City> cityAdd(@RequestBody City city) {
log.debug("city = {}", city.toString());
return new ResponseEntity<>(city, HttpStatus.OK);
}
리턴으로 굳이 다시 보내지 않으려면,
요청을 Query Params로 할 때 (form tag 같은)
@PostMapping(value="cityAdd")
public ResponseEntity<String> cityAdd(String name, String countryCode, String district, Integer population) {
log.debug("name = {}, ctCode = {}, district = {}, population ={}", name, countryCode, district, population);
return new ResponseEntity<>("", HttpStatus.OK);
}
호출
오류처리
소스
결과
참고
@PostMapping 으로 된 메소드를 get 방식으로 호출하면
Spring Boot Tutorial 시리즈
- 2021.07.03 - [Java] - [SpringBoot] RestApi 만들기 (1) 프로젝트 생성
- 2021.07.03 - [Java] - [SpringBoot] RestApi 만들기 (2) JSON 형식 리턴
- 2021.07.04 - [Java] - [SpringBoot] RestApi 만들기 (3) Log (slf4j+logback)
- 2021.07.04 - [Java] - [SpringBoot] RestApi 만들기 (4) Service 생성 (의존성 주입)
- 2021.07.04 - [Java] - [SpringBoot] RestApi 만들기 (5.1) MySQL + JDBC Template. 1
- 2021.07.05 - [Java] - [SpringBoot] RestApi 만들기 (5.2) DBCP - HikariCP
- 2021.07.08 - [Java] - [SpringBoot] RestApi 만들기 (5.3) jdbcTemplate - Select
- 2021.07.10 - [Java] - [SpringBoot] RestApi 만들기 (5.4) GetMapping, PostMapping
- 2021.07.10 - [Java] - [SpringBoot] RestApi 만들기 (5.5) jdbcTemplate - Insert, Update, Delete
- 2021.07.11 - [Java] - [SpringBoot] RestApi 만들기 (6) File Upload / Download / List
Spring Boot Tutorial 부록
- 2021.07.02 - [Java] - [eclipse] 이클립스 설치, STS(Spring Tools 4) 설치
- 2021.07.04 - [Java] - [SpringBoot] MyBatis 보다 Spring JDBC 를 사용해야 하는 이유
- 2021.06.19 - [Java] - [Spring-boot] 시작하기 전 알아야 할 것들
- 2021.06.19 - [Java] - [Spring-boot] 수동으로 설정 초기화
- 2021.07.04 - [Java] - Eclipse 에 groovy 설치 하기
- 2021.07.02 - [Java] - [eclipse] 이클립스 설치, STS(Spring Tools 4) 설치
- 2021.07.07 - [Java] - [SpringBoot] Controller 에 Route 적용 (RequestMapping)
728x90
반응형
'Java' 카테고리의 다른 글
[SpringBoot] RestApi 만들기 (6) File Upload / Download / List (3) | 2021.07.11 |
---|---|
[SpringBoot] RestApi 만들기 (5.5) jdbcTemplate - Insert, Update, Delete (4) | 2021.07.10 |
[SpringBoot] RestApi 만들기 (5.3) jdbcTemplate - Select (0) | 2021.07.08 |
[SpringBoot] Controller 에 Route 적용 (RequestMapping) (0) | 2021.07.07 |
[SpringBoot] RestApi 만들기 (5.2) DBCP - HikariCP (0) | 2021.07.05 |
댓글