반응형

REST

    Rest Operator와 Spread Operator

    es6를 사용하면서 보게된 Rest Operator와 Spread Operator에 대해 정리를 해보자. Rest Operator기존에 리터널 문법을 사용하여 객체나 배열의 값을 변수로 바인딩하여 사용할 수 있었다. 근데 object라는 객체의 값이 많은경우에는 여기서 값을 모두 하나하나 뽑아내는건 어렵기 때문에 하나의 객체로 뽑아낼때 사용한다.123456789101112131415161718192021222324// 기존에 하나씩 속성을 뽑아서 사용하던 방식const object = {a : 'wedul', b : 'cjung', c : 'gglee', d : 'babo'};const {a, b} = object;console.log(a, b); #출력wedul, cjung // Rest Operato..

    스프링 웹플럭스(spring webflux)를 활용한 간단한 리액티브 마이크로 서비스

    자바 리액티브 프로그래밍은 리액티브 스트림 명세를 바탕으로 하고 있다. 리액티브 스트림 명세에는 컴포넌트 사이의 비동기 스트림 처리나 이벤트 흐름을 Non Blocking 방식으로 처리하기 위한 문법을 정의한다. 일반적인 옵저버 패턴과 달리 리액티브 스트림에는 시퀀스의 처리, 완료 알림, 실패시 backpressure 적용 등이 추가된다. backpressure는 받는 컴포넌트에서 보내는 컴포넌트에게 얼마만큼의 데이터를 소화할 수 있다고 알려줄 수 있다. 그래서 받는 컴포넌트에서 처리될 준비가 됐을 때만 데이터를 받을 수 있다. 그래서 서로 속도가 다른 컴포넌트 사이의 통신을 할 때 유리하다. 스프링 프레임워크 5 web flux는 Reactor 리액티브 스트림 명세를 기반으로 되어있다. 간단한 Spri..

    Swagger 라이브러리를 사용하여 API 내용 정리하기

    Web 개발을 진행하다보면 다양한 API를 개발하게 된다. 하지만 정리하기가 쉽지 않고 이를 위해서 인터페이스정의서를 계속 정리하기도 사실 쉽지 않다. 이를 위해서 한번에 API 내용이 정리되어 한눈에 볼 수 있도록 제공해주는 library가 있다. 이 library인 swagger를 적용해보자. 1. 라이브러리 추가 Swagger 사용을 위한 라이브러리를 gradle에 추가하자.12compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0'compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.5.0'cs 2. Swagger 설정 관련 내용 Configu..

    Spring에서 url 요청하는 RestTemplate 설명

    Spring 기반 프로젝트 진행 시 URL을 요청할 때가 있다. 이를 Apache의 HttpClient 라이브로리를 사용하여 할 수 있지만, 스프링 프로젝트에서는 SpringTemplate를 사용하여 쉽게 요청할 수 있다. (httpClient와 RestTemplate의 차이는 하단의 링크참조) 사용법은 아주 간단하다. 각 요청 Method 마다 하단의 메소드를 이용하여 호출하기만 하면된다. 1. Get 12345RestTemplate restTemplate = new RestTemplate();String fooResourceUrl = "http://localhost:8080/spring-rest/foos";ResponseEntity response = restTemplate.getForEntity(f..

    Java Json Library Jacson Annotation 소개

    restFul API를 만들다 보면, 어떤 항목을 serialize 제외하거나 null인 항목은 제외하거나 하는 작업이 필요로 할 때가 있다. 이를 Jackson 라이브러리의 Annotation을 사용하여 하는 방법을 확인해보자. [Maven 셋팅] 1234567891011 2.9.2 com.fasterxml.jackson.core jackson-databind ${jackson.version} Colored by Color Scriptercs 예제로 사용될 Student Dto 클래스이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package com.wedul.common.dto; /** *..

    REST API 효율적인 설계 방법

    REST 구성 구성 요소표현방법내용ResourceHTTP URI자원을 정의VerbHTTP Method자원에 대한 행위를 정의RepresentationsHTTP Message Pay Load자원에 대한 행위의 내용을 정의ex) Resource : /wedul/member Verb : HTTP POST Representations : { "id" : "wedul" }REST 특성 1. 유니폼 인터페이스 -> HTTP 표준만 따르면 어떠한 기술이든 사용가능 (HTTP/JSON, HTTP XML) 2. 무상태성 (STATELESS) 3. 캐시 가능 -> 웹 캐시, CD을 이용한 캐싱 가능 4. 자체 표현 구조 (SELF-DESCRIPTIVENESS) -> API 내용만 보고도 별도의 문서 없이도 쉽게 이해가 가..

반응형