프로젝트를 위한 Java 공부
REST API에 대한 개념이 제대로 안잡혀서 책 보면서 정리해봤다
1. REST : Representational State Transfer
- WWW와 같은 분산 하이퍼미디어 시스템 아키텍쳐의 한 형식
- 이름을 규정하고 URI에 명시해 HTTP 메서드(GET, POST, PUT, DELETE)를 통해 해당 자원의 상태를 주고받는 것
2. REST API란?
- API : Application Programming Interface, 어플리케이션에서 제공하는 인터페이스
- 서버, 프로그램 사이를 연결할 수 있음
- REST API = REST 아키텍처를 따르는 시스템/어플리케이션 인터페이스
3. REST API 특징
- 유니폼 인터페이스 : 일관된 인터페이스, HTTP 표준 전송 규약을 따르기 때문에 플랫폼과 기술 종속적이지 않음
- 무상태성(stateless) : 서버에 상태 정보를 따로 보관하거나 관리하지 않음, 비즈니스 로직의 자유도가 높고 설계가 단순
- 캐시 가능성 : HTTP의 캐싱 기능 적용 가능, 서버의 트랜잭션 부하가 줄어 효율적이고 사용자 입장에서 성능 개선
- 레이어 시스템(Layered system) : 네트워크 상의 여러 계층으로 구성 가능
- 클라이언트-서버 아키텍처 : REST 서버는 API 제공, 클라이언트는 사용자 정보를 관리하는 구조
서로에 대한 의존성을 낮추는 기능
4. REST API 설계 규칙
- URI의 마지막에 '/' 포함하지 않기
ex) http://localhost.com/product (O) / http://localhost.com/product/ (X)
- 언더바 대신 하이픈
ex) http://localhost.com/provider-company-name (O) / http://localhost.com/provider_company_name (X)
- 행위가 아닌 결과 포함 = 동사가 아닌 명사
ex) http://localhost.com/product/123 (O) / http://localhost.com/delete-product/123 (X)
- 소문자로 작성
- 일부 웹 서버 운영체제는 대문자를 다른 문자로 인식하기 때문
- 파일의 확장자는 포함하지 않기
FLASK 시험 보고 나니 파이썬으로 백엔드 개발도 좋을 거 같긴 한데
이번 프로젝트가 아니면 연습단계에서 Java로 개발할 일이 없을 거 같아서 도전해보려고 한다
매주 Java 공부하는 내용을 조금씩 올릴 예정
아마 4~5장을 위주로 공부하지 않을까 싶다
프로젝트 끝나고 나면 엄청나게 성장해있겠지..?
그때의 나를 믿으며 화이팅
출처 : 스프링 부트 핵심 가이드
'우리FISA' 카테고리의 다른 글
우리FIS 아카데미(우리FISA) 19주차 AI 엔지니어링 텍스트전처리 (0) | 2023.09.02 |
---|---|
우리FIS아카데미(우리FISA) 18주차 AI엔지니어링 프로젝트 로그 남기기 (1) | 2023.08.27 |
우리FIS아카데미(우리FISA) 17주차 AI 엔지니어링 ERD 디벨롭 과정 (0) | 2023.08.20 |
우리FIS아카데미(우리FISA) 16주차 AI엔지니어링 파이널 프로젝트 데이터 수집 단계 로그남기기 (0) | 2023.08.10 |
우리FIS아카데미(우리FISA) 14주차 AI 엔지니어링 미니프로젝트 복습 (0) | 2023.07.30 |