get 방식과 post 방식 질문드립니다.
333
작성한 질문수 31
public class OrderController {
private OrderService orderService;
private MemberService memberService;
private ItemService itemService;
@GetMapping(value = "/order")
public String createForm(Model model) {
List<Member> members = memberService.findMembers();
List<Item> items = itemService.findItems();
model.addAttribute("members", members);
model.addAttribute("items", items);
return "order/orderForm";
}
@PostMapping("/order")
public String order(@RequestParam("memberId") Long memberId, @RequestParam("itemId") Long itemId, @RequestParam("count") int count) {
orderService.order(memberId, itemId, count);
return "redirect:/orders";
}
}
제가 http관련 수업을 들었지만, 코드로 적용할 때, 좀 헷갈리는 부분이 있어서 질문드립니다.
@GetMapping은 기본적으로 "order" url에 이동했을 때, 실행되는 것이 맞나요?
order 페이지로 이동했을 때, 자동으로 createForm 메소드가 실행돼서 모델에 members와 items를 담고 order/orderForm으로 전달하는 절차가 맞나요?
반대로 @PostMapping은 기본적으로 "order" url에서 값의 전달이나 변경이 있을 때, 실행되는 것이 맞나요?
order url에서 값을 입력하고 버튼과 같은 동작을 누르면, 그 때 order 메소드가 실행돼서 매개변수로 넘어온 memberId, itemId, count로 주문해서 저장하는 것이 맞나요?
결론적으로 차이점을 말하자면, get방식은 해당 url로 접속했을 때 실행되는 것이고, post는 해당 url에서 값을 변경이나 전달할 때 실행되는 것이 맞나요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
whdk333님, 질문하신 내용에 대해 답변 드리겠습니다.
네, 맞습니다. @GetMapping은 “order” URL로 이동했을 때 해당 메서드를 실행하여 주로 데이터를 조회하거나, 폼 페이지 등을 보여주는 데 사용됩니다. 기술적으로 말씀하신 대로 createForm 메서드가 실행되어 모델 객체에 members와 items를 담고, order/orderForm 뷰로 이 데이터를 전달합니다. 이 과정을 통해 사용자는 주문할 회원과 아이템을 선택할 수 있는 폼을 보게 됩니다.
@PostMapping은 “order” URL에 대해 POST 요청이 발생했을 때 실행되며, 주로 데이터를 서버로 전송하고 데이터의 생성 또는 변경을 요청할 때 사용됩니다. order 메서드가 실행되는 시나리오대로, 주문 폼에서 사용자가 입력한 memberId, itemId, count를 매개변수로 받아 실제 주문 처리를 하고, 처리가 완료되면 주문 목록 페이지(/orders)로 리다이렉션됩니다.
결론적으로, @GetMapping과 @PostMapping의 차이점을 정확히 이해하셨습니다. GET 방식은 주로 해당 URL로 접속했을 때 데이터를 조회하는 등의 동작을 실행하고, POST 방식은 해당 URL에서 폼 제출과 같은 데이터의 전송이나 변경을 할 때 사용됩니다. 이는 HTTP 프로토콜에서 정의한 GET과 POST 메서드의 기본적인 용도와 일치합니다.
질문에 답변이 되었기를 바랍니다. 추가로 궁금한 점이 있으시면 언제든 질문해 주세요.
HelloSpringApplication.java 클래스 실행 오류
0
12
1
build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)
0
21
1
네이버 API | '검색 - 책' API 제공 중단
0
41
2
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
47
2
장치 의존성과 CSR
0
36
1
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
32
1
[영한님]Spring Boot 및 프로젝트 생성
0
56
2
JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문
0
55
3
강의 요청 문의
0
40
2
클로드코드 명령어-대화&세션관리 수업 자료
0
42
1
PlatformTransactionManager, ResourcelessTransactionManager 질문
1
67
2
자료 한번에 다운받기
0
33
1
스프링 빈 등록 방법 2가지 다 알아야하는 이유
0
59
1
mybatis 를 이용한 crud에서 insert에서 resultType='long" 이라고 하셨는데요,
0
27
1
설계 트레이드 오프 링크 접속 안됨
0
85
2
테스트 질문, 어떤것을 사용할것인것에 대해서
0
46
1
깃허브주소 궁금합니다.
0
36
2
mariaDB 설정
0
33
1
섹션4 퀴즈 오타있어요.
0
46
1
AWS 배포 성능테스트
0
75
2
퀴즈가 안열려요
0
76
2
7강 보고 있는데요.. 글자가 너무 작아요
0
43
1
트래잭션 전파 기본- 에 대한 개념 질문? 이렇게 생각해도 맞나요?
0
46
1
헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다.
0
131
2





