전체 글

코딩수첩

    Rest Controller란?

    Rest Controller란?

    @RestController Spring 4에서 Rest API 또는 Web API를 개발하기 위해 등장한 어노테이션 이전 버전의 @Controller와 @ResponseBody를 포함한다. Rest Controller를 사용하기 위해서는 MesageConvertor가 중요하다. 예를 들면 MessageConvertor는 외부에서 전달 받은 Json 메서드를 내부에서 사용할 수 있는 객체로 변환하거나 Controller를 리턴한 객체가 클라이언트에게 Json으로 변환해서 전달할 수 있도록 하는 역할을 수행한다. MessageConvertor 자바 객체와 HTTP 요청/ 응답 바디를 변환하는 역할 @ResponseBody, @RequestBody @EnableWebMvc로 인한 기본 설정 WebMvcCon..

    Web API란?

    Web API란?

    Web API 디자인 가이드 URI는 정보의 자원을 표현해야 한다. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다. 자원에 대한 행위는 HTTP Method로 표현 URI는 정보의 자원을 표현해야 한다. GET /members (O) : 위의 표현은 맴버의 모든 정보를 달라는 요청입니다. GET /members/delete/1 (X) : GET은 정보를 요청할 때 사용합니다. 위와 같이 동사로 삭제를 표현하면 안 됩니다. DELETE /members/1 (O) : HTTP Method 중의 하나인 DELETE를 이용하여 삭제를 표현해야 합니다 GET /members/1 (O) GET /members/get/1 (X) GET /members/add (X) P..

    REST API란?

    REST API란 Representational State Transfer의 약자이다. REST 형식의 API를 말한다. HTTP프로토콜로 제공하는 API를 REST API라고 한다. 핵심 컨텐츠 및 기능을 외부 사이트에서 활용할 수 있도록 제공되는 인터페이스이다. 예를 들어, 네이버에서 블로그에 글을 저장하거나, 글 목록을 읽어갈 수 있도록 외부에 기능을 제공하거나 우체국에서 우편 번호를 조회할 수 있는 기능을 제공하거나, 구글에서 구글 지도를 사용할 수 있도록 제공하는 것들을 말한다. 서비스 업체들이 다양한 REST API를 제공함으로써, 클라이언트는 이러한 REST API들을 조합한 어플리케이션을 만들 수 있게 되었다. 이를 매시업(Mashup)이라고 한다. REST를 논문으로 최초 소개한 로이 필..

    AUTO_INCREMENT 초기화 방법

    AUTO_INCREMENT 값을 초기화 하려면, 아래와 같은 쿼리를 실행시켜주면 됩니다. ALTER TABLE [TABLE명] AUTO_INCREMENT = [시작할 값]; 이 경우에는, 테이블에 새로 시작할 값보다 높은 값이 있으면 안됩니다. 참조 URL https://amaze9001.tistory.com/28

    Post 방식으로 데이터 전송시 한글이 깨지는 문제

    web.xml 파일의 태그 안에 아래의 코드를 삽입. encodingFilterUTF8 org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilterUTF8 /

    Spring Error

    org.apache.tomcat.util.modeler.BaseModelMBean.invoke Error 발생시 web.xml에 오타가 없는지 확인. org.apache.catalina.core.ContainerBase.addChildInternal Error 발생시 web.xml의 url-parttern 또는 servlet의 urlPatterns에 '/'가 빠졌는지 확인 java package org.junit does not exist Error 발생시 pom.xml의 junit dependency에서 scope 엘리먼트를 지우거나 버전을 올려서 해결해준다. https://stackoverflow.com/questions/5845990/maven-3-and-junit-4-compilation-prob..

    레이어드 아키텍처(Layerd architecture)란?

    레이어드 아키텍처(Layerd architecture)란?

    레이어드 아키텍처가 사용되는 이유 웹 페이지는 중복 개발되는 요소가 존재한다. Controller에서 중복되는 부분을 처리하려면? 별도의 객체로 분리한다. 중복된 부분을 별도의 메서드로 분리한다. 예를 들어 쇼핑몰에서 게시판에서도 회원정보를 보여주고, 상품 목록 보기에서도 회원 정보를 보여줘야한다면 회원 정보를 읽어오는 코드는 어떻게 해야할까? 회원 정보를 읽어들이는 것만 별도의 객체로 만들고 게시판과 회원 정보 Controller가 이 객체를 이용. Controller들이 중복적으로 호출하는 부분들은 별도의 객체인 Service로 구현하며, Service객체는 비즈니스 메서드를 갖는다. (업무와 관련된 메서드를 비즈니스 메서드라고 한다.) 서비스 객체란? 비즈니스 로직(Business logic)을 수..

    Spring MVC가 지원하는 메소드 리턴 값

    org.springframework.web.servlet.ModelAndView org.springframework.ui.Model java.util.Map org.springframework.ui.ModelMap org.springframework.web.servlet.View java.lang.String java.lang.Void org.springframework.http.HttpEntity org.springframework.http.ResponseEntity 기타 리턴 타입 참조 URL https://www.edwith.org/boostcourse-web/lecture/16764/