springboot 9

[SpringBoot] Annotation

Spring Boot의 여러가지 Annotations Annotation 의미 @SpringBootApplication Spring boot application으로 설정 @Controller View를 제공하는 controller로 설정 @RestController REST API를 제공하는 controller로 설정 @RequestMapping URL 주소를 매핑 @GetMapping Http Get Method URL 주소 매핑 @PostMapping Http Post Method URL 주소 매핑 @PutMapping Http Put Method URL 주소 매핑 @DeleteMapping Http Delete Method URL 주소 매핑 @RequestParam URL Query Paramet..

[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..