우리FISA

우리FIS아카데미(우리FISA) 15주차 AI 엔지니어링 프로젝트를 위한 공부

히그다스 2023. 8. 6. 23:32

프로젝트를 위한 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장을 위주로 공부하지 않을까 싶다

 

 

프로젝트 끝나고 나면 엄청나게 성장해있겠지..?

 

그때의 나를 믿으며 화이팅


출처 : 스프링 부트 핵심 가이드