Skip to content

Commit

Permalink
Second-Seminar moreAssignment
Browse files Browse the repository at this point in the history
2주차 심화과제 제출

#3
  • Loading branch information
jinchiim committed May 1, 2023
1 parent 6c1cabe commit 0ff8908
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,37 +1,56 @@
package sopt.org.SecondSeminar.controller.post; // controller 클라이언트에게 받고 보내고만
package sopt.org.SecondSeminar.controller.post;

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("/post")
@PostMapping("/posts")
public String register(@RequestBody final SaveRequestDto request) {

Long userId = postService.save(request); // 컨트롤러가 service한테 요청. 일을 대신 시킴
System.out.println(postList); // servics는 글에 대한 서비스 컨트롤러는 어디로 향하는지 중간다리
System.out.println(postList); // // servics는 글에 대한 서비스 컨트롤러는 어디로 향하는지 중간다리

return userId + "번 글 등록이 완료됐습니다.";
}

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


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

@GetMapping("/posts") // 제목으로 글을 찾는 메서드

public String search(@RequestParam final String title) {
System.out.println("글 제목으로 검색: " + title);

return userId + "번 글 등록이 완료됐습니다.";
}
return postService.getByTitle(title);
}

@GetMapping("/post/{userId}") // 아이디로 게시물을 찾는 메서드
public String getOne(@PathVariable final Long userId) {
System.out.println(userId + "의 게시물 조회" + postList.get(userId.intValue()-1)); // 최고
@PutMapping("/posts/{userId}") // 글을 수정하는 메서드
public String update(@PathVariable final Long userId, @RequestBody UpdateRequestDto update) {
System.out.println(userId + " 님의 글을 수정했습니다.");

return postService.updatePost(userId, update);
}

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

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

return postService.getByTitle(title);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ 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,6 +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 java.util.ArrayList;
Expand Down Expand Up @@ -44,10 +45,20 @@ 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;
}

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

}
}

0 comments on commit 0ff8908

Please sign in to comment.