Rest 6

[Web] HTTP & REST에 대한 고민

REST REST는 Client에서 Server에 데이터를 요청할 때 활용하는 인터페이스와 같습니다. Server가 얼마나 REST에 가까운 API Design을 했느냐에 따라 Client 개발자는 예상가는 데이터 처리를 할 수 있습니다. 개발자들과 협업할 때 통일된 약속은 매우 중요합니다. 만약 통일된 약속이 없다면 명세서 확인으로 부족하여 어떤 데이터가 반환되는지 소스코드를 일일이 확인해야하는 불상사가 발생할 수도 있죠. 그리고 REST 설계방식은 배우기도 그리 어렵지 않습니다. 이런 이유로 예상가는 WEB API Design을 하기 위해 REST API를 강조하는 것이죠. ( 하지만 약속이 중요할 뿐 반드시 REST 설계형식을 따라야 한다는 것은 아닙니다. GraphQL과 같은 방식도 있죠. ) H..

DevOps/Web 2019.10.18

학습 // Spring // REST // Exception

업데이트 :: 2018.08.20 REST API 오류응답스프링 MVC 에외 핸들러예외클래스 추가입력값 검사 예외의 처리REST API 오류응답Json 오류 응답{ "message" : "Not Found", "documentation_url" : "http://developer.github.com/v3" } 오류를 담을 자바빈즈public class ApiError implements Serializable { private static final long serialVersionUID = -8119817744873562082L; private String message; @JsonProperty("documentation_url") private String documentationUrl; } 스프링..

Spring/REST 2018.08.20

학습 // Spring // REST // Resource

업데이트 :: 2018.08.20 Resource 클래스JacksonJackson 활용Resource 클래스리소스 클래스 예제public class BookResource implements Serializable { private static final long serialVersionUID = -9115030674240690591L; // == [주의] Json 필드명 == 자바빈즈 프로퍼티명 == private String bookId; private String name; private List authors; @DateTimeFormat(pattern="yyyy-MM-dd") // ISO 8061 private LocalDate publishedDate; private BookPublisher ..

Spring/REST 2018.08.20

학습 // Spring // REST // Controller

업데이트 :: 2018.08.16 @RestControllerCORSCORS 옵션URI조립@RestController@RestController @RequestMapping("books") public class BookRestController() { } CORSCORS : Cross-Origin Resource SharingAJAX(XMLHttpRequest)를 사용할 때 다른 도메인의 서버리소스에 접근하기 위한 메커니즘CORS 옵션allowedOrigins접근을 허용할 오리진(도메인) 지정기본값 : '*' (모두이용가능)allowdMethods접근을 허용할 HTTP 메서드 지정기본값 : '*' (모두이용가능)allowHeaders접근을 허용할 헤더를 지정preflight 요청이 들어올때 이 값으로 ..

Spring/REST 2018.08.20

학습 // Spring // REST

업데이트 :: 2018.08.15 REST API 아키택처ROA(Resource Oriented Architecture)프레임워크 아키텍처REST API 아키택처REpresentational State Transfer클라이언트와 서버사이에 데이터를 주고받는 애플리케이션을 만들기 위한 아키텍처 스타일 중 하나REST API는 데이터베이스 등에서 관리되는 정보에서 클라이어트에게 제공할 정보를 '리소스'의 형태로 추출추출된 리소스에 접근(CRUD 조작)하기 위한 수단으로 REST API를 제공ROA(Resource Oriented Architecture)ROA는 RESTful 웹애플리케이션을 구축하기 위한 구체적인 아키택처를 정의7가지 특징웹 리소스로 공개URI를 통한 식별 (Uniform Resource I..

Spring/REST 2018.08.20