오늘의 핵심 키워드
- GET: 조회 (가져오기) : 메뉴판 보여주세요!
- POST: 등록 (집어넣기) : 새로운 메뉴 하나 추가해주세요!
- PATCH : 수정 (바꾸기) : 메뉴 가격이 올랐으니 고쳐주세요!
- DELETE: 삭제 (지우기) : 이제 이 메뉴은 안팔아요. 지워주세요!
REST API란,
- REST: '메뉴판을 만드는 규칙' 규칙을 지키면 누구든지 쉽게 주문할 수 있음.
- API: '주문받는 창구' 또는 '메뉴판'을 의미함.
RestController란,
스마트한 주방장 ; 주방장은 쪽지만 받고 정해진 대로 일을 함!
- 홀영업: 손님이 주문을 하면 주문서에 따라 예쁜 접시에 요리 담기
- 배달전용: 배달주문이 들어오면 주문서에 따라 배달용기에 음식 담아 세팅
API 특징
- 주소(URL) 명확 : http:/api/coffee/1 (https에서 s 꼭 빼야함)
- 데이터형식 = JSON : {"이름": "아메리카노", "가격" : 4500}처럼 아주 간단한 글자 쪽지(JSON)로 대화하므로 속도가 빠름
- REST API 하나면 어디에서나 가능함
///////////////////////////////////////////세팅하기~
Talend API Tester 설치하기
1. 설정 > 확장프로그램 > 웹스토어 방문

2. Talend API Tester - Free Edition 다운로드

3. 실행

////////////////////////////////////실습하기~
GET
@GetMapping("/restout")
public List<CoffeeEntity> aa1(){
return coffeeRepository.findAll();
}

POST
@PostMapping("restin")
public CoffeeEntity aa2(@RequestBody CoffeeDTO dto){
CoffeeEntity de = dto.toentity();
return coffeeRepository.save(de);
}
@RequestBoday 를 @RequestParam으로 헷갈리지말것

PATCH
@PatchMapping("/restupdate/{num}")
public ResponseEntity aa4(@PathVariable long num, @RequestBody CoffeeDTO dto){
CoffeeEntity target = coffeeRepository.findById(num).orElse(null);
if(target==null) return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("수정할 상품 번호가 없습니다.");
else{
target.setCname(dto.getCname());
target.setCprice(dto.getCprice());
CoffeeEntity er = coffeeRepository.save(target);
return ResponseEntity.status(HttpStatus.OK).body(er);
}
}

DELETE
@DeleteMapping("/restdelete/{num}") //삭제를 원하는 상품번호
public ResponseEntity aa3(@PathVariable long num){
CoffeeEntity ce = coffeeRepository.findById(num).orElse(null);
if(ce==null) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("삭제할 상품 번호가 없습니다.");
}else{
coffeeRepository.delete(ce);
return ResponseEntity.status(HttpStatus.OK).body("삭제 성공!!!");
}
}
다중입력
@PostMapping("/restmulin")
public ResponseEntity<List<CoffeeEntity>> aa5(@RequestBody List<CoffeeDTO> dto){
List<CoffeeEntity> ce = coffeeService.insertmulin(dto);
return (ce!=null)
? ResponseEntity.status(HttpStatus.OK).body(ce)
:
ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
}
다중삭제
@GetMapping("/restallout")
public void aa6(){
coffeeRepository.deleteAll();
}
끝.
'AI딥러닝 > SporingBoot' 카테고리의 다른 글
| SpringBoot Thymleaf Oracle' Image CRUD+S 처리하는 법 (0) | 2026.01.10 |
|---|---|
| 스프링부트 엔티티와 인터페이스로 페이징 처리기술 (0) | 2026.01.10 |
| Springboot : Thymeleaf 레이아웃 코딩 시 발생할 수 있는 오류 (0) | 2026.01.09 |
| Spring Security를 활용한 로그인 및 로그아웃 구현 (0) | 2026.01.06 |
| 스프링부트 권한주기 메뉴제어하기 Kakao Map API 연동하기 (0) | 2026.01.02 |