Skip to content

Commit

Permalink
Second-Seminar moreAssignment
Browse files Browse the repository at this point in the history
두번째 세미나 심화 과제 제출

#3
  • Loading branch information
jinchiim committed May 1, 2023
1 parent 9fefb90 commit 6c1cabe
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,15 @@
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import sopt.org.SecondSeminar.controller.post.dto.request.SaveRequestDto;
import sopt.org.SecondSeminar.controller.post.dto.request.UpdateRequestDto;
import sopt.org.SecondSeminar.service.PostService;
import static sopt.org.SecondSeminar.SecondSeminarApplication.postList;

@RestController
@RequiredArgsConstructor
@RequestMapping("/api/v1") // api 버전 처리

public class PostController {
private final PostService postService;

@PostMapping("/posts")
@PostMapping("/post")
public String register(@RequestBody final SaveRequestDto request) {

Long userId = postService.save(request); // 컨트롤러가 service한테 요청. 일을 대신 시킴
Expand All @@ -23,33 +20,18 @@ public String register(@RequestBody final SaveRequestDto request) {
return userId + "번 글 등록이 완료됐습니다.";
}

@GetMapping("/posts/{userId}") // 아이디로 게시물을 찾는 메서드
@GetMapping("/post/{userId}") // 아이디로 게시물을 찾는 메서드
public String getOne(@PathVariable final Long userId) {
System.out.println(userId + "의 게시물 조회" + postList.get(userId.intValue()-1)); // 최고


return postService.getPostInfo(userId); // 보내주기만 한다.
}

@GetMapping("/posts") // 제목으로 글을 찾는 메서드
@GetMapping("/post/search") // 제목으로 글을 찾는 메서드
public String search(@RequestParam final String title) {
System.out.println("글 제목으로 검색: " + title);

return postService.getByTitle(title);
}

@PutMapping("/posts/{userId}") // 글을 수정하는 메서드
public String update(@PathVariable final Long userId, @RequestBody UpdateRequestDto update) {
System.out.println(userId + " 님의 글을 수정했습니다.");

return postService.updatePost(userId, update);
}

@DeleteMapping("/posts/{userId}") // API에 행위가 들어가면 안된다는 피드백으로 변경
public String delete(@PathVariable final Long userId){
System.out.println(userId + " 님의 글을 삭제했습니다.");

return postService.deletePost(userId);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ public void setId(long id) {
this.id = id;
}

public void setTitle(String title) {this.title = title;}

public void setContent(String content) {this.content = content;}

@Override
public String toString(){
return "id: " + this.id + "\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

import org.springframework.stereotype.Service;
import sopt.org.SecondSeminar.controller.post.dto.request.SaveRequestDto;
import sopt.org.SecondSeminar.controller.post.dto.request.UpdateRequestDto;
import sopt.org.SecondSeminar.domain.post.Post;
import sopt.org.SecondSeminar.domain.user.User;

import java.util.ArrayList;

Expand Down Expand Up @@ -47,22 +45,9 @@ public String getByTitle(String title) { // 찾는 제목을 포함하는 게
return "해당 제목을 포함하는 게시물: " + titlePost;
}

public String updatePost(Long UserId, UpdateRequestDto requestDto) {
Post post = postList.get(UserId.intValue() - 1);
post.setContent(requestDto.getContent()); // UpdateRequestDto에서 받은것을 post에서 할당
post.setTitle(requestDto.getTitle());

return "게시물 수정 완료: " + post;
}

public String deletePost(Long UserId) {
if (UserId -1 >= postList.size()) { // 유저 아이디가 postList안에 존재하지 않을때
return "삭제할 글이 존재하지 않습니다";
}
postList.remove(UserId.intValue() - 1); // 해당 post 삭제
return "게시물 삭제 완료";

}
}; // 조회 함수를 새로 만들어서 역할 위임하는 거

};
//controller, service >> 이해됨
// Application, domain
//

0 comments on commit 6c1cabe

Please sign in to comment.