본문 바로가기

분류 전체보기

(268)
44 : Springboot(글 읽기 비즈니스 로직 추가) 글 읽기 비즈니스 로직 추가 기존 코드에서 isDel = "Y" 이면 아래 json response가 나오도록 수정 40: Springboot (Read-board) Read Board 에 글 읽기 기능을 수행하는 코드를 추가한다 요청 URL은 GET http://localhost:8080/board/{id} 으로 지정 Controller 코드이다. boardService의 getBoardById 로 URL에서 받은 변수 id를 넘겨준다 @G.. dwc04112.tistory.com BoardService public ApiResponse getBoardById(int boardId) { BoardDTO data = boardDAO.getBoardById(boardId); if(isDeletedData(..
43- Git-branch & Merge Git - Branch 를 왜 사용할까? board 수정하다 comment수정하다 보면 history에서 여러가지 파일들이 섞여있는 것을 볼 수 있다. 그렇다면 텍스트(파일)들의 변화를 어떻게 관리할까? git - branch를 연습해보자 1. C\gitpractice\ 파일 안에 git파일을 생성하고 sourcetree에 추가해서 환경을 만들었다. 그리고 source.txt 파일을 생성 후 commit하였다. 2. 우선 master 상태에서 branch를 생성하여 commit을 따로 해보자. 가지(make-branch)를 생성하고 make-branch 가지가 선택된 상태에서 새로운 파일 makebranch.txt 파일을 아까의 위치에 추가하여 commit을 했다. 3. 아래 사진과 같이 branch가 ..
42 : Springboot (글과 댓글 함께 출력) BoardDTO의 AllArgsConstructor -> RequiredArgsConstructor 로 수정 @AllArgsConstructor 클래스에 모든 필드에 대한 생성자를 자동으로 생성해준다. 단점 : 기존에 멤버 변수의 순서를 바꾼다면, 기존 생성자의 파라미터의 순서가 바뀐다. 만약 두 멤버 변수의 타입이 동일하다면 인지 하기 어렵다 @RequiredArgsConstructor 이 어노테이션은 초기화 되지않은 final 필드나, @NonNull 이 붙은 필드에 대해 생성자를 생성해 준다 리뷰 전 코드 AllArgConstructor 때문에 모든 필드에 생성자를 자동으로 생성해서 이때까지 List 를 사용할수 없었다.. 이것 때문에 위 방법을 포기하고 LinkedHashMap으로 하나하나 Has..
Spring 여러기능 추가 ~1007 1. 댓글 목록 불러오기 GetMapping을 통하여 PathVariables에 board의 id를 입력하면 id에 해당하는 commentList들을 모두 출력한다 2. 글에 딸린 목록 불러오기 2-1 Get/board/{id} 를 고쳐서 나타내기 모양이 이상하긴 하지만.. (사진 내림) List를 하나 새로 만들어서 거기에 id에 따른 board값을 불러오는 getBoardById를 불러와서 우선 추가하고 (getBoardById 의 id, author, subject, content만 우선 들고왔다) 댓글 List를 들고와서 list에 추가했다 >>1007 드디어 성공적으로 원하는 모습으로 구현했다! 답은..LinkedHashMap 으로 다음과 같은 형태로 나타냈다. (그냥HashMap은 순서대로 출..
41: Springboot (Delete-board) Delete (Delete라 쓰고 Update라 읽는다) 구현 방법 우선 DB board table에 isDel 컬럼을 추가한다 isDeleted(enum 초기값 = N)를 Y로 업데이트 하는 Delete 기능을 구현할 것이다. isDel 값이 'Y'인 글은 출력이 안되게 만들어서 delete기능이지만 데이터는 남고 삭제되지는 않는다 Controller 쿼리를 작업하거나 데이터를 입력할때 헷갈리지 않게 updateIsDelBoardById 이름을 붙인다 // isDeleted : Y로 업데이트 시킴. // 요청URL은 DELETE http://localhost:8080/board/{id} @DeleteMapping(value = "/{id}") public ApiResponse updateIsDelBoa..
40: Springboot (Read-board) Read Board 에 글 읽기 기능을 수행하는 코드를 추가한다 요청 URL은 GET http://localhost:8080/board/{id} 으로 지정 Controller 코드이다. boardService의 getBoardById 로 URL에서 받은 변수 id를 넘겨준다 @GetMapping(value = "/{id}") public ApiResponse getBoardById(@PathVariable int id) throws Exception { return boardService.getBoardById(id); } Service부분의 코드. DAO의 getBoardById로 id값을 넘겨 수행하고 수행한 값을 return한다 public ApiResponse getBoardById(int id)..
39 : Springboot (Rest API - @PathVariable ) @PathVariable URL 경로에 변수를 넣어주는 어노테이션이다. 항상 Rest API는 httpMethod를 기준으로 URL 분류 > URL 분류를 간략화 해준다. 여기서 Rest API? (분명 들었는데 기억이 나지 않는다...) “Representational State Transfer” 의 약자로 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. (출처 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html) 균일한 인터페이스 제공 : 요청이 어디에서 오는지와 무관하게, 동일한 리소스에 대한 모든 API 요청은 동일하게 NOT REST API 읽기- GET http://localhost..
38 : Springboot (insert - test, board) Controller TestController에서 PostMapping으로 insert하기 위해 아래 코드를 추가했다 @PostMapping(value = "/") public String insertTest(@RequestBody TestDTO testDTO) throws Exception { log.debug("insertTest"); return testService.insertTest(testDTO); } Service Controller에서 Service를 호출하면 Service에서 아래 비즈니스 로직을 처리한다 public String insertTest(TestDTO testDTO) throws Exception { // testDTO db에 insert int result = testDAO..