Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 컴퓨터비전
- 코딩테스트실력진단
- 확인문제
- 백준스택
- 백준괄호
- 웹개발기초
- 코테
- 냅색알고리즘
- BOJ
- 백준평범한배낭
- 운영체제
- 백준가운데를말해요
- 이것이자바다9장
- 이것이자바다
- 딥러닝
- 코드트리
- 스파르타코딩클럽
- 백준9012
- 윤곽선검출
- 이것이자바다확인문제
- java
- 가운데를말해요
- 백준온라인저지
- KT포트포워딩
- 백준
- 합성곱연산
- 백준10828
- 2019카카오코테
- 카카오코테
- BOJ1655
Archives
- Today
- Total
코딩하는 락커
[Spring Boot를 이용한 RESTful Web Services 개발] 17강 본문
🍃 Spring/🌱 Spring Boot를 이용한 RESTful Web Service
[Spring Boot를 이용한 RESTful Web Services 개발] 17강
락꿈사 2022. 2. 7. 17:43사용자 삭제 기능 추가
- 사용자 상세 조회 api와 같은 URI를 갖고 있음(https://coding-rocker.tistory.com/54 <- 링크 참고)
- HTTP method 중 DELETE 호출
- UserDaoService 클래스에 메소드 추가
public User deleteUser(int id){
// 열거형 데이터(배열, 리스트 등)를 순차적으로 접근해서 사용하기 위한 데이터 형
Iterator<User> iterator = users.iterator();
while(iterator.hasNext()){
User user = iterator.next();
if(user.getId() == id){
iterator.remove();
return user;
}
}
return null;
}
- Controller 클래스에 추가작업
- @DeleteMapping 어노테이션을 추가하여 HTTP DELTE method 호출
- URI값에는 "/users/{id}"
- PathVariable 사용됐으므로 매개변수에 @PathVariable int id 추가
@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable int id){
User user = service.deleteUser(id);
if(user == null){
throw new UserNotFoundException(String.format("ID[%s] not found", id));
}
}
사용자 수정 기능 추가 (과제)
- HTTP method 중 PUT 호출
- UserDaoService 클래스에 메소드 추가
public User modifyUser(int id, String name){
Iterator<User> iterator = users.iterator();
while(iterator.hasNext()){
User user = iterator.next();
if(user.getId() == id){
user.setId(user.getId());
user.setName(name);
return user;
}
}
return null;
}
- Controller 클래스에 추가작업
- @PutMapping 어노테이션을 추가하여 HTTP PUT method 호출
- URI값에는 "/users/modify"
- Map<String, String>을 사용하여 DTO를 만들지 않고 RequestBody로 입력받음 (https://velog.io/@shson/%EC%8A%A4%ED%94%84%EB%A7%81-controller%EC%97%90%EC%84%9C-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0%EB%A5%BC-%EB%B0%9B%EB%8A%94-%EB%8B%A4%EC%96%91%ED%95%9C-%EB%B0%A9%EB%B2%95-RequestParam-RequestBody-PathVariable <- 링크참고 )
@PutMapping("/users/modify")
public User modifyUser(@RequestBody Map<String, String> param){
int id = Integer.parseInt(param.get("id"));
String name = param.get("name");
User modifiedUser = service.modifyUser(id, name);
return modifiedUser;
}
'🍃 Spring > 🌱 Spring Boot를 이용한 RESTful Web Service' 카테고리의 다른 글
[Spring Boot를 이용한 RESTful Web Services 개발] 20~21강 (0) | 2022.02.08 |
---|---|
[Spring Boot를 이용한 RESTful Web Services 개발] 18~19강 (0) | 2022.02.08 |
[Spring Boot를 이용한 RESTful Web Services 개발] 16강 (0) | 2022.02.07 |
[Spring Boot를 이용한 RESTful Web Services 개발] 13~15강 (0) | 2022.02.06 |
[Spring Boot를 이용한 RESTful Web Services 개발] 11~12강 (0) | 2022.02.05 |
Comments