728x90
반응형
## MemoController API 구현
- -메모 생성,조회,업데이트,삭제
|
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
package com.sparta_spring.sparta_spring_week03.controller;
import com.sparta_spring.sparta_spring_week03.domain.Memo;
import com.sparta_spring.sparta_spring_week03.domain.MemoRepository;
import com.sparta_spring.sparta_spring_week03.domain.MemoRequestDto;
import com.sparta_spring.sparta_spring_week03.service.MemoService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController // json 컨트롤러
@RequiredArgsConstructor // 의존주입 생성자 자동완성
public class MemoController {
// 필요한 멤버변수
private final MemoRepository memoRepository;
private final MemoService memoService;
// API 작성
// POST
@PostMapping("/api/memos")
public Memo createMemo(@RequestBody MemoRequestDto memoRequestDto){//@RequestBody: RequestBody에에 있는 것을 넣어줘 요청
Memo memo = new Memo(memoRequestDto); // 리파지토리 메서드에는 Memo 클래스를 넣어야 함
return memoRepository.save(memo);
}
//GET
@GetMapping("/api/memos")
public List<Memo> getMemos(){
return memoRepository.findAllByOrderByModifiedAtDesc(); // 수정된 시간 순으로 모두 조회
}
//UPDATE
@PutMapping("/api/memos/{id}")
public Long updateMemo(@PathVariable Long id,@RequestBody MemoRequestDto memoRequestDto) {
return memoService.update(id, memoRequestDto); // 서비스의 업데이트 메서드 이용 }
}
//DELETE
@DeleteMapping("/api/memos/{id}")
public Long deleteMemo(@PathVariable Long id){
memoRepository.deleteById(id); // 리파지토리에서 삭제 // 리파지토리는 예외처리 자동해줌
return id;
}
}
|
cs |
반응형
'SpringBoot > 스파르타 웹개발의 봄 spring' 카테고리의 다른 글
| [스파르타 웹개발의 봄 spring] 03.07~08 javascript 기초 (0) | 2021.07.12 |
|---|---|
| [스파르타 웹개발의 봄 spring] 03.06 HTML,css 기초 (0) | 2021.07.12 |
| [스파르타 웹개발의 봄 spring] 02.09 API-GET (0) | 2021.07.12 |
| [스파르타 웹개발의 봄 spring] 03.04 Service 만들기 (0) | 2021.07.12 |
| [스파르타 웹개발의 봄 spring] 03.03 MemoRepository 만들기 (0) | 2021.07.12 |