2011-10-02 2 views
1

지금까지 모든 내 축소판 그림은 150x150 크기였습니다. 다양한 Android/iPhone 모델을 처리하기 위해 다른 미리보기 이미지 크기를 지원하고 싶습니다.여러 화면 크기를 지원하는 REST API 디자인하기

저는 여러 가지 크기를 지원하는 이러한 방법을 고려해 왔습니다. 물건을 더 간단하게 만들기 위해 항상 정사각형 섬네일로 작업하십시오.

75x75 축소판

GET http://example.com/gallery?resolution=75 
... 
{ 
    "id": 1001, 
    "thumbnail": "http://lh5.ggpht.com/EEIl3_hedJSAT4RscoceShtWy3DE4WGKXXNp4rusI-kpzWfDIbzrWx1KVywf9YqGI-elD_k4xg8bUemeRTtLgtAPOlVc0kpw=s75" 
} 

150 × 150 썸네일을 얻기를 얻기

GET http://example.com/gallery?resolution=150 
... 
{ 
    "id": 1001, 
    "thumbnail": "http://lh5.ggpht.com/EEIl3_hedJSAT4RscoceShtWy3DE4WGKXXNp4rusI-kpzWfDIbzrWx1KVywf9YqGI-elD_k4xg8bUemeRTtLgtAPOlVc0kpw=s150" 
} 

내가 예를 들어, 사용자 정의 크기를 지원하지 않는 API를의 많이 본 보았다 플리커 API는 작은, 중간, 큰 및 원래 크기를 지원합니다.

어떻게 든이 API를 개선 할 수 있습니까?

답변

1

글쎄, Flickr API (Small, Medium, Large 및 Original)와 같은 고정 값을 가질 수 있습니다. 당신이 할 수있는 일은 미리 랜더링하고 저장하는 것입니다. 즉, 즉시 렌더링하지 않고 디스크 나 캐시에서 직접 잡아낼 수 있습니다. 당신이 가장 유연성을 제공하려는 경우, 당신은 당신이 지금 API를하고있는 방법을 계속하고 API 사용자가 사각형 크기를 지정할 수 있도록해야

GET http://example.com/gallery?resolution=small 

: 귀하의 요청 URL은 뭔가 같이 할 수 있습니다. 악용을 막으려면 고정 된 최대 값을 설정해야합니다. 예를 들어 Gravatar API은 고정 된 최대 크기가 512px이고 크기는 URL의 s= 매개 변수로 지정할 수 있습니다.

결국 비용/혜택 비율에 따라 다릅니다. 사전 렌더링 된 고정 크기 API보다 유연한 크기 API를 유지하는 것이 훨씬 더 어려울 수 있으며 즉시 렌더링하면 서버/RAM/대역폭 등에서 더 많은 투자가 필요합니다.

+0

좋은 답변. Google AppEngine을 사용하고 BlobStore는 다양한 이미지 크기를 쉽게 제공 할 수 있으며 값이 쌉니다. Gravatar API는 매우 좋습니다. – neoneye

+0

개발자로서 API를 구현했다면 유연성에 만족할 것입니다. 그러나 플리커의 규모에서 실행하는 경우 왜 그만큼 더 쉬운가에 대한 이유는 이해하기 쉽습니다 (서버 용량/메모리/Rendering wise) 미리 렌더링 된 이미지 상태를 처리합니다. –