🐢 Study/Spring

    URI 설계 패턴

    URI 설계 패턴 URI(Uniform Resource Identifier) 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일하다. URL(Uniform Resource Locator) 인터넷 상에서의 자원, 특정 파일의 위치를 나타내는 정보 URI 설계 시 주의할 점 1. 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용 http://restapi.example.com/houses/apartments http://restapi.example.com/animals/mammals/whales 2. URI 마지막 문자로 슬래시(/)를 포함하지 않는다. URI에 포함되는 모든 글자는 리소스의 유일한 식별자로 사용되어야 하며 URI가 다르다는 것은 리소스가 다르다는 것이고, 역으로 리소스가 다르면 U..

    REST

    Rest란? Rest ( Representational State Transfer : 자원의 상태 전달 ) - 네트워크 아키텍처 INDEX 1. REST 구성 2. REST 특징 3. REST API 디자인 가이드 4. HTTP 응답 상태 코드 1. REST 구성 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) 2. REST 특징 Uniform (유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일을 말합니다. Client - Server 구조 REST 서버는 API 제공, 클라이언트는 사용자 인증이나 컨텍스트(세션, 로그인 정보)등을 직접 관리하는 ..

    [JPA] JPA Auditing

    JPA Auditing이란? Java에서 ORM 기술인 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재합니다. 대표적으로 생성일자, 수정일자, 식별자 같은 필드 및 컬럼이 있습니다. 도메인마다 공통으로 존재한다는 의미는 결국 코드가 중복된다는 말과 일맥상통합니다. 데이터베이스에서 누가, 언제하였는지 기록을 잘 남겨놓아야 합니다. 그렇기 때문에 생성일, 수정일 컬럼은 대단히 중요한 데이터 입니다. 그래서 JPA에서는 Audit이라는 기능을 제공하고 있습니다. Audit은 감시하다, 감사하다라는 뜻으로 Spring Data JPA에서 시간에 대해서 자동으로 값을 넣어주는 기능입니다. 도메인을 영속성 컨텍스트에 저장하거나 조회를 수행한 ..

    API 호출 및 페이지 접근 Controller 테스트 오류 해결하기

    이슈 1. CustomOAuth2UserService를 찾을 수 없습니다. - CustomOAuth2UserService 소셜로그인 관련 설정값에 따른 실행 기본적으로 application.properties 파일을 src/main, src/test 모두 읽어서 사용한다. src/test/resources에 application.properties가 없을 경우 src/main/resources에 있는 application.properties를 자동으로 읽는다. src/main/resources/application-oauth.properties는 읽지 못한다. 즉, application-oauth.properties가 test쪽에 파일이 없기때문에 발생하는 오류이다. 해결책은 application.pro..

    [jack-board] 03 - MyBatis를 이용한 DB연동

    오늘 만들 것 많은 API는 DB로부터 데이터를 불러오거나 사용자로부터 전달받은 데이터를 DB에 저장하는 작업을 수행합니다. 오늘은 MyBatis를 이용해 DB에 접속하고, DB로부터 간단한 값을 불러오는 기능을 구현합니다. 만약 이미 MyBatis를 접해보셨거나 사용법을 알고 계신다면 굳이 이번 글은 자세히 보지 않으셔도 됩니다. 사전 설정 practice계정에 members 테이블을 생성해서 데이터 삽입 더보기 CREATE TABLE "PRACTICE"."MEMBERS"( "SEQ" NUMBER(*,0) NOT NULL ENABLE, "NAME" VARCHAR2(255 BYTE) NOT NULL ENABLE, "COUNTRY" VARCHAR2(255 BYTE) NOT NULL ENABLE, CONST..

    maven없이 Spring 프로젝트 생성하기

    1. 개발환경 - JDK 1.8 - eclipse - apache+tomcat 7.0 - Spring - mybatis 3.2.1 - Oracle Database 11g 2. 과정 1. 프로젝트 생성: New > Dynamic Web Proejct 1. Project name, Target runtime 등 설정 2. Java(configure project for building a Java application) + 수정 - Remove: src - Add Folder(3개) src/main/java: 개발되는 코드의 경로 src/main/resources: 서비스가 실행될 떄 필요한 파일의 경로 src/test/java: 테스트 코드 3. Web Module(Configure web module s..