본문 바로가기

분류 전체보기474

Spring 핵심 여러가지 모듈이 있지만 그 중에서 단연 스프링 부트, 스프링 클라우드, 스프링 데이터, 스프링 배치, 스프링 시큐리티에 중점을 둔다. 스프링 모듈 https://spring.io/projects/spring-boot Spring Boot Get support Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription. Learn more spring.io 스프링의 핵심기능 (DI, AOP, etc)을 제공하며, 필요한 모듈만 선택하여 사용 가능 Spring의 과제는 "테스트의 용이성", "느슨한 결합"에 중점을 두고 개발 IoC의 등장 스프링이 다른 프레임워크와 가장.. 2021. 6. 12.
Object Mapper 의도적으로 사용자가 Object를 Json형태로 또는 Json을 Object로 변환해야할 때 사용 Object를 Json으로 변환할때는 DTO에 get Method를 사용하고 (get이라는 이름에 다른 함수는 작성하지 말아야한다) Json을 Object로 변환할 때는 default 생성자를 사용한다. Test 코드 프로젝트 구조 User Object클래스 생성 package com.example.objectmapper; import com.fasterxml.jackson.annotation.JsonProperty; public class User { private String name; private int age; @JsonProperty("phone_number") private String phon.. 2021. 6. 12.
Response 내려주기 응답하는 방법은 두가지로 나뉘어 진다. 데이터형식으로 응답하는 형태: @RestController 어노테이션 사용 페이지형식(HTML 등)으로 응답하는 형태: @Controller 어노테이션 사용 테스트 진행을 위한 DTO 생성 @JsonInclude을 사용하면 데이터를 응답할 때 null 값을 제외하고 보낼 수 있다. int형을 Integer로 변경하면 기본값이 0에서 null값으로 변경된다. package com.example.response.dto; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databin.. 2021. 6. 12.
Delete API 리소스 삭제, 멱등성, PathVariable, Query Parameter Delete는 Dto를 이용해서 작성하는 것보다 Query Parameter를 전달받아 처리하는 것을 권장한다. 예제 package com.example.delete.controller; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") public class DeleteApiController { @DeleteMapping("/delete/{userId}") public void delete(@PathVariable String userId, @RequestParam String account){ System.out... 2021. 6. 12.
PUT API 리소스 갱신/ 생성, 멱등성, Path Variable, DataBody, Query Parameter Json 디자인 { "name" : "", "age" : , "car_list" : [ { "name" : "", "car_number" : "" }, { "name" : "", "car_number" : "" } ] } 예제 dto 작성 package com.example.put.dto; import com.fasterxml.jackson.annotation.JsonProperty; public class CarDto { private String name; // 받을 JSON key값 직접지정 @JsonProperty(value = "car_number") private String carNumbe.. 2021. 6. 12.
Post API 리소스 생성, 추가, create, Path Variable, Query Parameter, DataBody XML, JSON 형태로 데이터를 전달 주로 JSON으로 전달 타입 string : value number : value boolean : value object : vlaue { } array : value [ ] JSON 포맷 { "phone_number" : "value", "phoneNumber" : "value", "string" : "010-222-3333" "number" : 10, "boolean" : false, "object" : { "address" : "aaa@naver.com", "password" : "aaaa" }, "array" : [ { "account" : "abc.. 2021. 6. 12.