2017-03-14 3 views
1

저는 StackExchange API offers과 비슷한 벡터화/일괄 요청과 같은 아이디어가 마음에 들었고 내 자신의 API 용으로 구현하고 싶습니다. 즉 GET /users/1;2;3;4;5은 선택한 사용자 리소스를 반환합니다. id 1 to 5서브 리소스에 대한 일괄 처리 된 POST 요청의 예상 로직은 무엇입니까

데이터를 읽을 때 상당히 간단하다고 생각합니다.하지만 하위 요청에 대한 POST 요청에 대해 예상되는 동작은 무엇입니까?

POST /1;2;3;4;5/subresource 

겠습니까이 평균 :

  • 각 ID (1 : 1)에 할당 된 다섯 개 개의 새로운 자원들, 창조 각각의 리소스 ID에 하나의 새로운 하위 리소스의
  • 창조하지만, 할당 (1 : n)

답변

0

나는이 접근 방식에 관한 몇 가지 우려 사항이있다. 첫째, 리소스는 특정 리소스 로케이터 (URI)를 통해 고유하게 주소 지정이 가능해야합니다. 그러나 귀하의 접근 방식을 사용하면 IMO와 같은 방식으로이 요구 사항을 무시합니다. 이 접근법은 나중에 다른 문제, 즉 많은 프레임 워크 do not allow URIs that exceed a certain character size으로 이어질 수 있습니다.

또한, 리소스 ID가 연속되는 대신 리소스는 대신 UUID를 사용해야합니다. 이것은 무엇보다 먼저 guessing attacks을 방지하고 자원 이동 또는 중간에 일부 삽입에 대한 논리적 인 문제를 방지합니다.

포스트있어서 요청이 대상 자원 프로세스 자원의 자신의 특정 의미에 따른 요청 안의 표현. HTTP POST 작업에 관해서

specification 명확하게 POST를 통해받은 몸의 의미는 서비스 개발자의 몫이라고 말한다. 따라서 기본적으로 POST 요청 내에서 모든 작업을 수행 할 수 있습니다. 의미론은 전적으로 당신에게 달려 있으므로 명시 적으로 동작을 문서화해야합니다. 적용된 로직을 문서화하지 않으면 서비스 사용자에게 큰 회색 영역이 남습니다.