주의! 해당 글에서 사용된코드는 기능확인만을 위한 코드로 실전에서 사용하는게 아님
1.CREATE
1-1.컨트롤러
@RequestBody로 본문(body)의 내용을 Java 객체로 변환
@Post로 매핑받는다.
@PostMapping("/create")
public Item createItem(@RequestBody Item item){
return itemService.createItem(item);
}
1-2.서비스
itemRepository.save()를 이용하여 새로운 아이템을 데이터베이스에 저장할수있다.
public Item createItem(Item item){
return itemRepository.save(item);
}
2.READ
2-1.컨트롤러
@getMapping 으로 매핑한다.
@PathVariable("id") Long id로 경로의 변수를 인자로 사용한다.
@GetMapping("/{id}")
public ItemDTO getItemById(@PathVariable("id") Long id){
return itemService.getItemById(id);
}
2-2.서비스
자바빈 형식으로 해서 DTO 로 아이템을 반환해준다.
public ItemDTO getItemById(Long id){
Item item=itemRepository.findById(id).get();
ItemDTO dto= new ItemDTO();
dto.setDescription(item.getDescription());
dto.setId(item.getId());
dto.setImgurl(item.getImgurl());
dto.setName(item.getName());
return dto;
}
3.UPDATE
3-1.컨트롤러
@PutMapping으로 매핑되어있다.
@PathVariable("id") Long id 으로 변경할 아이템 번호를 경로변수로받고
@RequestBody Item item 으로 Body로 변경시킬 새로운 아이템정보를받는다.
@PutMapping("/modify/{id}")
public Item modifyItem(@PathVariable("id") Long id, @RequestBody Item item){
return itemService.modifyItem(id, item);
}
3-2.서비스
id의 아이템이 있으면 새 아이템의 id를 해당 id으로 변경하여 저장한다.
public Item modifyItem(Long id, Item item) {
if (itemRepository.existsById(id)) {
item.setId(id);
return itemRepository.save(item);
}
return null;
}
4.DELETE
4-1.컨트롤러
@DeleteMapping으로 매핑받는다.
경로 변수로 id를 받는다.
@DeleteMapping("/{id}")
public boolean delteItem(@PathVariable("id") Long id){
return itemService.deleteItem(id);
}
4-2.서비스
만약 id의 아이템이 있으면 지운다.
public boolean deleteItem(Long id){
if (itemRepository.existsById(id)) {
itemRepository.deleteById(id);
return true;
}
return false;
}
'BackEnd > SpringBoot' 카테고리의 다른 글
[SpringBoot] RESTAPI CRUD 제약조건추가 경매장#6 (0) | 2024.11.04 |
---|---|
[SpringBoot] 경매장 REST API로 변경, Auction API#4 (0) | 2024.10.27 |
[SpringBoot] @Autowired 와 의존성주입 (0) | 2024.10.20 |