url 생성 규칙 & RESTful API

url 생성 규칙


 

1. url는 정보의 자원을 표현하며, 동사 보다는 명사를 사용한다. 

 

GET /getUsers/1 (X)

GET /users/1 (O)

 

2. 자원에 대한 행위는 HTTP METHOD로 표현한다. (GET, POST, PUT, DELETE)

 

GET /users/1 회원을 조회한다

PUT /users/1 회원을 수정한다

DELETE /users/1 회원을 삭제한다

POST /users/1 회원을 입력한다

 

 

3. 소문자를 사용하며 불가피하게 구분이 필요한 경우 하이픈(-) 문자를 사용한다. 

 

4. 마지막 문자로 슬래시(/) 문자를 포함하지 않는다.

 

5. 슬래시(/) 문자는 계층 관계를 나타내는데 사용한다.

 

GET /users/danawa 다나와 회원을 조회한다

 

6. 단수 명사가 아닌 복수 명사를 사용한다.

 

GET /user/1 (X)

GET /users/1 (O)

 

 

Restful API


 

Restful API란? 

REST란 웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미한다. Restful API는 REST 특징을 지키면서 API를 제공하는 것을 의미한다.

 

 

Restful 구성요소

  • 자원(Resource) - URI
  • 행위(Verb) - HTTP METHOD
  • 자원의 표현(Representations of Resource) - JSON, XML .. 

 

RestTemplate

Resttemplate은 간편하게 Rest 방식 api를 호출할 수 있는 spring 내장 클래스 입니다.

 

 

RestTemplate

- API 호출 시 마다 RestTemplate 객체를 생성하여 Restful API 통신을 하면 tcp connection 수가 매우 많아져 응답 지연 현상이 발생할 수 있다.. 이를 해결하기 위해 Connection Pooling을 사용해야된다. RestTemplate에서는 Connection Pooling 지원하지 않지만 아래와 같이 HttpClient를 이용하여 Connection Pooling 쓸수있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
HttpClient httpClient = HttpClientBuilder.create()
                                         .setMaxConnTotal(150// 최대 커넥션 수
                                         .setMaxConnPerRoute(50// 특정 url에 최대 커넥션 갯수 
                                         .build();
        
httpRequestFactory.setHttpClient(httpClient);
return new RestTemplate(httpRequestFactory);
 
 
 
 
 
cs

'기타' 카테고리의 다른 글

Database CRUD 타입 및 사용 방법  (0) 2020.08.09
springboot 테스트 코드 작성법과 TDD  (0) 2020.08.08
스터디 객체지향 이론  (0) 2020.08.03
스터디 DDD  (0) 2020.08.03
스터디 JAVA 8 이후 변경점  (0) 2020.08.03

Tags

Read Next