학습 수업 내용 요약

ik_13038·2022년 8월 26일
0

라이징캠프 4주차

목록 보기
1/1

4주차 학습 수업 내용 요약


Client - Server

서로 정보전달 및 조회를 위해 Packet이라는 단위로 데이터를 주고 받는다.
Packet은 Header와 Body로 나뉘어 있다
이러한 Packet은 method를 통해 그 용도에 따라 전달된다.

method의 종류

1. Get

  • 클라이언트가 서버에 정보를 조회할 때 주로 사용된다.
    주소창에 URI가 모두 뜬다
    • 주고 받는 방식은 크게 Query String과 Path Variable 방식 2가지로 나뉜다.
      1. Query String
        : ? 뒤에 변수:값을 key-value 형태로 담아 전달
        주로 uri 끝에 사용되며 데이터 필터링/페이징 등의 용도로 자주 사용됨
/users?gender = female & major = math # 성별이 여자고 전공이 수학인 user
      1. Path Variable
        : URI를 이용하여 그 데이터를 전달
        한정된 정보 전달에 주로 사용 (ex./users/1 - 1번 유저의 정보 조회)
/users/gender/female # 성별이 여자인 user 조회

-> 일반적으로 우리가 어떤 자원(데이터)의 위치를 특정해서 보여줘야 할 경우 Path variable을 쓰고, 정렬하거나 필터해서 보여줘야 할 경우에 Query parameter를 쓴다. 참고자료

2. Post

  • Get과 달리 주소창으로 정보가 유출되지 않음. (보안적인 요소로는 동일, 단순용도차이)

3. Put

  • 데이터 전체 수정

4. Patch

  • 데이터 일부 수정

5. delete

  • 데이터 삭제

데이터를 주고 받는 파일 형식

구) xml (tag 형태)

  • HTML과 매우 비슷한 문자 기반의 마크업 언어이다
<employees>
  <employee>
    <firstName>John</firstName> <lastName>Doe</lastName>
  </employee>
  <employee>
    <firstName>Anna</firstName> <lastName>Smith</lastName>
  </employee>
  <employee>
    <firstName>Peter</firstName> <lastName>Jones</lastName>
  </employee>
</employees>

최근) Json

  • 브라우저 통신을 위한 속성-값 또는 키-값 쌍으로 이루어진 데이터 포맷
    -> 배열 등으로 주고 받을 수 있고 눈으로 확인이 쉬워 거의 이러한 형식으로 사용
{"employees":[
  { "firstName":"John", "lastName":"Doe" },
  { "firstName":"Anna", "lastName":"Smith" },
  { "firstName":"Peter", "lastName":"Jones" }
]}

참고 자료

API (Application Programming Interface)

클라이언트와 서버 간 데이터를 주고 받을 때 사용하는 기능 인터페이스

  • 클라이언트는 API가 어떤 로직을 통해 동작하는지 알 수 없다. 단순히 어떤 기능을 하는지를 알고 사용할 뿐이다.
    메뉴판 - API 명세서 / 메뉴 - API
    참고: What is API

Restful API

  • 어떤 로직 기능의 동작을 Method를 이용하고 URI를 이용하여 그 행위의 목적어를 작성하는 API

ex)
회원가입 API(method:Post, URI:/users)
회원수정 API(method:Patch, URI:/users/1)
회원삭제1 API(method:delete URI:/users/1)
회원삭제2 API(method:patch URI:/users/1/status)

cf) URI에는 동사를 사용하지 않으며, 언더바를 사용하지 않고 하이폰을 사용, 그리고 각 URI 청크는 4개를 넘지 않는 것이 좋다.
참고

URI와 URL

URI
URI는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스다.

URL
URL은 흔히 웹 주소라고도 하며, 컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약이다. URI의 서브셋이다.

-> URL은 URI에 포함된다. 참고자료

Validation

두 가지 유효성을 검사해주어야 한다.

1. 형식적 유효성: DB를 거치지 않는 형식적인 것

ex) 이메일 형식을 따르는가? 휴대전화 형식(010-xxxx-xxxx)에 따라 데이터를 입력하는가?

2. 논리적 유효성: DB를 거쳐 확인해야하는 것

ex) 회원가입으로 입력 시 이미 있는 유저 정보로 하는가?

Query 검사를 통해 꼭 두 가지 유효성 모두 검사해주어야 한다.

과제 참고 템플릿

Route--------------------Controller-------Service and Provicer-------DAO
(외부요청)------------(data전달, 유효검사)-------(비즈니스 로직 구현)----(쿼리 전달)

  • SpringBoot는 Route와 Controller 두 가지 역할 모두 수행함.
profile
글 연습, 정보 수집

0개의 댓글