본문 바로가기

전체 글191

23.06.15 스프링 부트로 로그인 기능이 없는 나만의 항해 블로그 백엔드 서버 만들기 과제 주의사항 Entity를 그대로 반환하지 말고, DTO에 담아서 반환해주세요! 프론트엔드와 백엔드가 느슨하게 결합하는 환경이 ”최근에는” 더 일반적이라고 말씀드렸죠? 앞으로 남은 강의 예제와 실습에서는 html/css/js 즉 뷰도 같이 반환 하겠지만, 과제에는 여러분들이 서버 로직에 더 집중하실 수 있도록 JSON을 반환하는 API형태로 진행하려고 합니다. 눈으로 직접 확인 할 수 있었던 view와는 다르게, 여러분들이 과제를 진행하시려면 서버가 반환하는 결과값을 더 쉽게 확인 하실 수 있는 도구가 필요합니다. 바로 PostMan 입니다. 요구사항 아래의 요구사항을 기반으로 Use Case 그려보기 손으로 그려도 됩니다. cf.. 2023. 6. 15.
23.06.15 Spring 2주차 숙제 Query Methods 기능을 사용하여 내용(contents)에 특정 키워드가 포함된 메모를 조회하는 API를 구현 Controller를 통해 keyword를 Query String 방식으로 전달받아 메모를 조회하는 API를 추가합니다. http://localhost:8080/api/memos/contents?keyword= 메서드명은 getMemosByKeyword 입니다. MemoService에 getMemosByKeyword 기능을 수행하는 메서드를 구현합니다. ‘Postman’을 사용해서 테스트합니다. 정렬 방법은 수정 시간을 기준으로 내림차순을 적용합니다. 우선 param 형태로 자료를 받기 위해 Controller에 get 메서드 생성 @GetMapping("/mem.. 2023. 6. 15.
23.06.14 기존에 작성한 메모장 프로젝트는 하나의 클래스가 모든 api를 가지고 있어 클래스 안에 메서드가 너무 많다는 문제점이 있다. 이러면 다른 사람이 이 코드를 수정하려 할 때 어려움을 겪을 수 있다. 그래서 서버 개발자들은 처리 과정을 크게 Controller, Service, Repository 3개로 분리하는 일종의 약속을 만들었는데 이것이 3 Layer Architecture이다. 1. Controller 클라이언트의 요청을 받습니다. 요청에 대한 로직 처리는 Service에게 전담합니다. Request 데이터가 있다면 Service에 같이 전달합니다. Service에서 처리 완료된 결과를 클라이언트에게 응답합니다. 2. Service 사용자의 요구사항을 처리 ('비즈니스 로직') 하는 실세 중에 실세.. 2023. 6. 14.
23.06.13 어제 잘 실행되던 mvc 폴더에서 intellij를 실행했을 때 아무런 에러메시지도 없이 무한로딩이 되는 에러가 발생해 1시간 가량 튜터님과 뭐가 문제인지 파악하려 했으나 결국엔 실패했다. 원인을 알아내기 위해 폴더나 파일들을 완벽히 카피한 폴더도 만들었으나 이 폴더는 문제없이 실행됐다. 결국 원인도 못 알아낸채로 1시간 가량 제자리 걸음을 하게 된 셈이지만 intellij가 가끔 이유없이 오류가 나는 상황도 있다고 하니 어쩔 수 없이 복사한 폴더에서 진행하기로 했다. 원인이 뭐였는지는 아직까지도 미스테리다... 데이터가 요청되는 방식 Path Variable : 서버에 보내려고 하는 데이터를 url 경로에 추가 할 수 있다. // [Request sample] // GET http://localhost.. 2023. 6. 13.