일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Resource #
- 자바#Java#배열예시#연습#기초다지기
- #java#JAVA#프로그래밍#웹개발자
- 국비지원자바#국비교육자바#국비지원java#국비교육java#자바스크립트#프론트엔드
- 자바
- IntelliJ#인텔리제이#인텔리#단축키
- 항해99 #항해플러스 #주니어개발자 #주니어개발자역량강화 #주니어개발자멘토링 #개발자사이드프로젝트 #코딩부트캠프 #코딩부트캠프후기
- html#HTML#프론트엔드#개발자#코딩#국비지원#국비교육#국비지원프론트엔드#국비지원HTML#국비지원html#국비프론트엔드
- tibero#티베로#이중화#failvover
- Java#정처기#비트연산자#정보처리기사
- Java#JAVA#매개변수
- Java#컴파일러#자바컴파일러#
- 국비지원JAVA#국비교육JAVA#국비지원자바#국비교육자바#JSP#SERVLET#서블릿#
- 개발자도서#개발자책#도메인#DDD#도메인주도개발시작하기#개발스터디#
- Java#java#메모리영역#클래스로더#가비지컬렉터
- Spring#spring#스프링#스프링프레임워크#스프링의존성주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- 국비지원#국비교육#국비지원자바#국비교육자바#css#HTML#JAVA
- 쿼리스트링#쿼리문자열#바인딩
- Spring#spring#스프링#스프링프레임워크#스프링자동주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- java
- #
- 국비지원JAVA#국비지원자바#프로그랭#JSP#국비지원JSP#국비교육JSP#웹개발자#코딩
- Java#java#자바#다오#디티오#브이오#dao#dto#vo
- 항해플러스#항해#항해플러스3기#회고
- 개발자#it도서#도메인#DDD#ddd
- 국비지원#국비교육
- spring#Spring#RequestBody#ResponseBody
- db#데이터베이스#오라클#sql
- 프로그래밍
- 국비지원JAVA
Archives
- Today
- Total
개린이 개발노트
[Spring]스프링Spring PathVariable, @ PathVariable활용법/@RequestParam, @RequestBody 본문
스프링Spring
[Spring]스프링Spring PathVariable, @ PathVariable활용법/@RequestParam, @RequestBody
개린이9999 2022. 12. 2. 00:25728x90
이 어노테이션들은 controller에서 프론트로부터 파라미터를 전달받을 때 사용하는 어노테이션들이다.
@GetMapping("/food")
public FoodResponseDto findById(@RequestParam(value = "id") Long id) {
return foodService.findById(id);
}
api 요청 시에 URI에 http://localhost:8080/food?id=2 이렇게 queryString 방식으로 넣어주는 것이다.
@RequestParam(value = "id" , required=false) 이렇게 쓰면 id값을 넣어주지 않아도 오류가 발생하지 않는다.
2. @PathVariable
@GetMapping("/api/food/menu/{id}")
public FoodResponseDto findById(@PathVariable Long id) {
return foodService.findById(id);
}
처럼 api 요청 시에 URI에 http://localhost:8080/api/udong/club/2 이런 식으로 값을 넣어 id 값 = 2 라는 정보를 전달해주는 것이다.
3. @RequestBody
@PostMapping("/api/food/menu")
public Long save(@RequestBody FoodSaveRequestDto requestDto) {
return foodService.save(requestDto);
}
예를들어 프론트에서
{
"id":2,
"name":"김밥"
}
이런 json 형식의 데이터를 서버로 보내주면 이를 받아서 자바 객체 형태로 매핑해준다.
@PathVariable 추가
Ex) 비회원, 회원 관리자 구분을 PathVariable을 통해서 함! (담당자, 비담당자 임원 비임원)
package com.jth.exercise;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/test")
public class TestController {
private static final Logger LOGGER = LoggerFactory.getLogger(TestController.class);
@GetMapping("/list")
public String testList() {
LOGGER.info("TestController,testList.");
return "test/testList";
}
@GetMapping("/detail/{no}")
public String testDetail(@PathVariable("no") int no, Model model) {
LOGGER.info("TestController,testDetail.");
LOGGER.info("check no : {}", no);
model.addAttribute("no",no);
return "test/testDetail";
}
@RequestMapping(value = "/insert", method = RequestMethod.POST)
public String testInsert() {
LOGGER.info("TestController,testInsert.");
return "test/testInsert";
}
@PostMapping(value = "/update")
public String testUpdate() {
LOGGER.info("TestController,testUpdate.");
return "test/testUpdate";
}
@PostMapping(value = "/delete")
public String testDelete() {
LOGGER.info("TestController,testDelete.");
return "test/testDelete";
}
}
728x90
'스프링Spring' 카테고리의 다른 글
[Spring] 스프링 model.addAttribute() 메소드 (0) | 2022.12.02 |
---|---|
[Spring]스프링Spring model 모델 (0) | 2022.12.02 |
[Spring]스프링Spring 라이브러리 (0) | 2022.11.29 |
[Spring] Spring스프링 현업에서 많이쓰는 form/ (0) | 2022.11.28 |
[Spring]스프링Spring 한글 처리 하는 방법 (0) | 2022.11.26 |