백엔드의 기본 4요소 CRUD 중 Read를 하기 위한 Get을 구현해보자Rest API는 "REpresentational State Transfer" 의 약자로 "표현 상태 전송"으로 번역 된다. HTTP 프로토콜을 기반으로 데이터를 요청하고 응답하며, 자원을 표현하
저번 포스트에 이어서 GET의 Path variable에 대해서 알아보자. Path Variable은 URL 경로의 일부를 변수로 사용하는 기능이다.아래의 예시로 알아보자.URL의 경로를 변수로 사용하기 위해서는 GetMapping 어노테이션을 붙여주고 경로에 {변수명
Data Transfer Object 의 약자로 데이터 이동을 위한 객체라는 뜻직전 게시물에서 나왔듯 @RequestParam 으로 쿼리를 모두 정해주는 방식이 있다. 좀더 편하게 하기 위해 DTO를 만들어 사용하는 방식을 실습하자먼저 클래스 객체를 만들어준다. 먼저
이번 포스트에서는 Spring boot의 RestAPI Post에 대해서 알아보자. 먼저 DTO를 만들자. BookRequest.java파일을 스프링 폴더의 패키지 안에 생성해주고 아래와 같이 DTO를 생성해준다.그 후 PostApiController.java파일을 만
먼저 데이터 통신에 사용할 객체 데이터 DTO를 만들자.위와 같이 UserName, phoneNumber, email, isKorean을 변수로 갖고, 모든 변수들은 set메서드를 가진다. (Data 어노테이션 덕분)이렇게 각 set, get메서드들이 생성되고 이 ge
간단하게 하나의 파일로만 보자면 이렇다. Delete 요청을 수행하기 위해 DeleteMapping 어노테이션을 붙여준다. path 파라미터에 {}중괄호를 사용해 여러 주소를 매핑할 수 있다.이외의 사용법은 Get과 동일하다.
원래 코드 원하는 응답을 만들어 보내는 방법 원하는 응답을 보내기 위해서는 메서드의 반환값을 응답으로 만들어주어야 한다. 1. public ResponseEntity user() user메서드의 반환값을 바꿔주자 위와 같이 바꿔주자. >user메서드의 반환값을 Re
ObjectMapper를 자바에서 JSON과 객체 간의 변환을 담당하는 도구라고 생각해보자. 객체를 JSON으로 변환할 때는 이 객체에 들어있는 정보를 JSON 형식으로 만들어주고, JSON을 객체로 변환할 때는 JSON에 들어있는 정보를 객체로 만들어준다.DTO 준비
국소적인 예외처리 가장 널리 쓰이는 예외처리 방법으로 try-catch 예외 처리가 있다. Spirng boot 프로젝트를 하나 만들고 컨트롤러 파일을 하나 만들어서 Get을 수행하도록 만들어 보자. 컨트롤러 파일 작성 이와 같이 try-catch로 예외처리를
@Builder 어노테이션은 Lombok라이브러리에서 제공하는 어노테이션으로 객체를 생성할 때 체이닝 방식을 사용할 수 있게 해준다. 먼저 사용하기 위해선 클래스를 정의할 때 @Builder 어노테이션을 붙여주어야 한다. 예시이렇게 빌더 어노테이션을 붙인 클래스는 나중
서론 예외 처리의 필요성 서버는 Request(요청)에 대한 Response(응답)를 반환해준다. 각 서버마다 정해진 응답의 API 규격을 지키기 위해 예외 처리가 필요하다. 정상적인 응답은 괜찮지만 에러로 인해 예외적인 응답이 반환되고, 그로인해 규격에 맞지 않
어떤 한 사람의 정보를 입력받는다고 할 때 아래와 같은 데이터들을 저장 받을 수 있다.이름이메일비밀번호나이휴대폰 번호회원가입 시점하지만 String, Integer과 같은 타입으로 지정해버리면 이메일에 아무글자나 들어갈수도, 휴대폰번호에 아무 글자나 들어갈도 있다.즉
지금까지는 단일조건(예외)를 잡아냈지만 이번에는 복합조건을 잡아내도록 한다만약 아래 두가지 요소 둘 중 하나만 있어도 된다면? private String nameprivate String nickName이러한 조건을 제공하는 어노테이션은 없다. 그렇기 때문에 커스텀한

JDBC란 Java로 데이터베이스 프로그래밍을 하기위한 라이브러리다. 아래의 코드처럼 자바로 로우한 쿼리문을 직접 사용하는 것이다. 장점은 날 것의 로우한 쿼리를 작성할 수 있다.단점은 매번 로드를 해줘야 하고, 어디서 에러가 나올지 몰라 위험성이 높다. 예외 케이스를
Spring MVC @PathVariable 에 대해서

이 포스트는 MySQL과 Spring Boot와 MySQL, Datagrip을 설정하고, 사용할 수 있다는 전제하에 작성되었습니다.이번 포스트에서는 게시판, 게시글, 댓글을 작성할 수 있는 게시판을 만들어볼 것이다. 이러한 기능을 만드는데에는 먼저 아래의 작업이 필요하
이 포스트에서 만드는 Spring Boot 프로젝트의 의존성(dependency)은 아래와 같다먼저 데이터베이스에 연결하기 위해 어플리케이션 파일을 설정해준다.application파일을 application.yaml로 이름을 바꿔준다.이제 application.yaml
Optional 개요 Optional은 자바 8 버전부터 추가된 기능으로 Optional클래스를 사용해 Null 예외를 방지할 수 있도록 도와준다. 도와주는 방법은 변수 자체를 사용하는 것이 아니라 클래스 내부에 null이 올 수 있는 값을 감싼 Wrapper 클래
스프링부트를 사용하다 보면 엔티티에 들어있지만 매핑시키지 않을 변수들이 생긴다.예를 들어 Post(게시글) 엔티티와 Reply(댓글) 엔티티가 있다.그런데 게시글들을 열람할 때 댓글들도 한번에 열람을 하고싶어져서 다음과 같은 작업을 했다.ReplyRepository에
간단한 게시판 만들기 강의를 보던 중 또다시 버전과 관련된 에러에 직면했다. 현재 상황은 아래와 같다. 게시판 1을 보려고 한다. 게시글들을 불러와서 보여준다. 게시글들이 ID 기준 오름차순(ASC)정렬이 되어서 나온다. ID를 내림차순(DESC)정렬로 만들어
게시판을 만들 때 데이터
Web Authentication이란 웹 애플리케이션에서 사용자의 정체성을 확인하고 적절한 권한을 부여하는 과정다시말해 사용자가 서비스에 접근할 권한이 있는지 확인하는 과정이다.웹 인증은 3가지로 구별된다.사용자 등록: 회원가입사용자 인증: 로그인(인증 및 인가)세션

모바일(플러터) -- FTP(음성데이터) --> SpringBootFTP를 내장한 스프링부트 서버를 개발해 도커 이미지로 만들어 GCP에 호스팅 하던 중음성데이터가 스프링부트로 전해지지 않는 문제가 생겼습니다. 제가 미리 해놓았던 작업은 아래과 같습니다.도커 컴포즈 파

여러 프로젝트를 수행하고 심지어 풀스텍까지 개발할 동안 항상 마음속 어딘가에서 궁금하던 것이 있었다.뷰는 왜 뷰일까? api를 개발하다보면 사실상 클라이언트에게 전달되는 주체는 JSON형태의 데이터들인데(주로 DTO) 왜 이름이 View일까?그런데 왜 뷰는 뷰일까? 물