@Service
@RequiredArgsConstructor
public class ItemService {
private final ItemRepository itemRepository;
public void saveItem(String title, Integer price) {
Item item = new Item();
item.setTitle(title);
item.setPrice(price);
itemRepository.save(item);
}
}
new ItemService().saveItem(title, price);
/add 요청이 들어올 때마다 매번 new 키워드로 객체를 뽑아야 함 - 비효율적
➡ @RequiredArgsContructor 붙이고 변수로 등록하기~!
@Controller
@RequiredArgsConstructor
public class ItemController {
private final ItemRepository itemRepository;
private final ItemService itemService;
@PostMapping("/add")
String addPost(String title, Integer price){
itemService.saveItem(title, price);
return "redirect:/list";
}
단점: 자료 많으면 복잡해짐, 정보가 유저에게 잘 보임
<script>
document.querySelectorAll('.btn')[0].addEventListener('click', function(){
fetch('/test1?name=kim&age=10')
})
</script>
@GetMapping("/test1")
String test1(@RequestParam String name, Integer age){
System.out.println(name);
System.out.println(age);
return "redirect:/list";
}
