전체 글 33

[SpringBoot] Validation 사용하기

01. Spring Boot Validation Validation이란 프로그래밍에 있어서 가장 필요한 부분이다. 특히 Java에서는 null 값에 대해서 접근하려고 할 때 null pointer exception발생 함으로, 이러한 부분을 방지하기 위해서 미리 검증을 하는 과정을 Validation이라고 한다. 단순한 코드 public void run(String account, String pw, int age) { if (account == null || pw == null) { return } if (age == 0) { return } // 정상 Logic } 문제점 검증해야 할 값이 많은 경우 코드의 길이가 길어진다. 구현에 따라서 달라 질 수 있지만 Service Logic과의 분리가 필요하..

[SpringBoot] Object Mapper

08. 모범사례 - Object Mapper Controller외에 따로 작업을 해야 할 때 사용한다. var objectMapper = new ObjectMapper(); Controller request json(text) → Object response Object → json(text) 예제 코드 User package com.example.objectmapper; import com.fasterxml.jackson.annotation.JsonProperty; public class User { private String name; private int age; @JsonProperty("phone_number") private String phoneNumber; public User() { th..

[SpringBoot] Resopnse

07. Resopnse 내려주기 String 일반 Text Type 응답 예제 코드 Controller.java @RestController @RequestMapping("/api") public class ApiController { // TEXT @GetMapping("/text") public String text(@RequestParam String account) { return account; } } API 결과 Content-type이 text인 것을 확인 할 수있다. Object 자동으로 Json 변환되어 응답 상태값은 항상 200 OK 예제 코드 Controller.java @RestController @RequestMapping("/api") public class ApiControll..

[SpringBoot] REST API - PUT

05. PUT API 리소스가 존재한다면 수정(갱신) 없다면 생성. 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질. 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남는다. → 해당 HTTP 메서드가 멱등성을 가졌다. @RestController : Rest API 설정어노테이션 @RequestMapping : 리소스를 설정 (method로 구분 가능) @PostMapping : Post Resource 설정 @RequestBody : Request Body 부분 Parsing @PathVariable : URL Path Variable Parsing JSON 디자인 { "name" : "짱구", "age" : 20, "car_list..

[SpringBoot] REST API - POST

04. POST API 어노테이션 @RestController : Rest API 설정 @RequestMapping : 리소스를 설정 (method로 구분 가능) @PostMapping : Post Resource 설정 @RequestBody : Request Body 부분 JSON Data Parsing. @JsonProperty : json naming @JsonNaming : class json naming JSON string : value number : value boolean : value object : value { } array : value [ ] { "phone_number" : "010-1111-2222", "age" : 10, "isAgree" : false, "account" ..

[SpringBoot] REST API - GET

03. GET API 의미 CRUD 멱등성 안정성 Path Variable Query Parameter DataBody GET 리소스 취득 R O X O O X POST 리소스 생성, 추가 C X X O △ O PUT 리소스 갱신, 생성 C / U O X O △ O DELETE 리속스 삭제 D O X O O X HEAD 헤더 데이터 취득 - O O - - - OPTIONS 지원하는 메소드 취득 - O - - - - TRACE 요청메세지 반환 - O - - - - CONNECT 프록시 동작의 터널 접속으로 변경 - X - - - - 기본 구성 import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/get"..

[SpringBoot] REST API & IntelliJ 프로젝트생성

02. Hello World API 1. REST Client 설치 chrome 설치 크롬 인터넷 환경 https://www.google.com/intl/ko/chrome/ Talent API 구글 확장 프로그램으로 설치 https://chrome.google.com/webstore/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm?hl=en Postman API 컴퓨터에 설치 https://www.postman.com/ 2. 스프링부트 프로젝트 생성 (IntelliJ IDEA) New Module 생성 Dependencies 추가 3. 스프링 부트 서버 실행 import org.springframework.web.bind.annotat..

[SpringBoot] 스프링 부트란

01. 스프링 부트란 Spring Boot는 단순히 실행되며, 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있다. Spring Boot 어플리케이션에는 Spring 구성이 거의 필요하지 않다. Spring boot java-jar로 실행되는 Java 어플리케이션을 만들 수 있다. Spring 개발에 대해 빠르고, 광범위 하게 적용할 수 있는 환경이다. 기본 값 설정이 있지만 바꿀 수 있다. 대규모 프로젝트에 공통적인 비 기능을 제공한다. (보안, 모니터링 등) XML 구성 요구사항이 전혀 없다. Build Tool Maven Gradle 스프링 부트 프로젝트 생성 https://start.spring.io 정리 어플리케이션 개발에 필수 요소들만 모아두었다. 간단한 설정으로 개발 및 커스..

일상 사진. 002

뒤죽 박죽 일상 사진. @구스아일랜드 발렌타인 스페셜 회사 근처에서 동기와 발렌타인 맥주를 한 잔 했다. 아 정말 최고야. @단천식당 주말은 양양을 갔다. 점심으로 속초에서 아바이 순대와 국밥, 명태회냉면을 먹었다. (1박 2일이 다녀갔다던데..) @바다정원 갯배라는 것도 타보고 속초 바다정원이란 카페에서 시간을 보냈다. 바다정원 옥상에서 보는 속초바다. 안개와 미세먼지 콜라보로 뭐가 보이지 않는다. @쏠비치 양양 오션뷰가 끝났다고 해서 아쉬웠는데 광장을 걸치고 멀리 보인다고 하시지 않으셨나요ㅜ 이정도면 너무 좋은데요~ @대포항 근처 수산시장 갔다가 쇼킹. 네? 북한횟집...이요,,? 숙소 밤에 보니까 더 멋있어.. 가족 여행이었기 때문에 회랑 매운탕 파티를 벌였다. 5명이서 먹은 술은 소주 13병 + ..

daily life/일상 2022.02.14