Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

상품 주문 본문

인프런/[인프런] Springboot와 JPA활용 1

상품 주문

Seung__ 2021. 8. 6. 21:26

1. OrderController


@Controller
@RequiredArgsConstructor
public class OrderController {

    private final OrderService orderService;
    private final MemberService memberService;
    private final ItemService itemService;

    @GetMapping("/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") //form submit방식으로 오면 name으로 바인딩되어 value가 넘어옴.
    public String order(@RequestParam("memberId") Long memberId,
                        @RequestParam("itemId") Long itemId,
                        @RequestParam("count") int count){

        orderService.order(memberId, memberId, count);
        return "redirect:/orders";
    }
}
  • 가급적 controller에서 단순 조회가 아니면 컨트롤러는 식별자만 넘겨서
    비즈니스 로직에서 Transaction내에서 처리하도록. 
  • 만약 컨트롤러에서 엔티티를 조회해서 비즈니스 로직으로 넘긴다면.
  • 서비스의 transaction과 관계 없는 엔티티가 넘어오게됨. 관리하기어려움.
  • 엔티티의 변경은 Transaction내에서 처리되어야 제일 깔끔함.

 

2. GitHub : 210806 Order


 

 

GitHub - bsh6463/SpringBootJPA1

Contribute to bsh6463/SpringBootJPA1 development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] Springboot와 JPA활용 1' 카테고리의 다른 글

주문 목록 검색 및 취소  (0) 2021.08.06
💥변경 감지와 병합(merge)💥  (0) 2021.08.06
상품 등록, 상품 목록, 상품 수정  (0) 2021.08.06
회원 목록 조회  (0) 2021.08.06
회원 등록  (0) 2021.08.06
Comments