2010-04-22 5 views
3

예약 응용 프로그램을위한 RESTful API를 설계하고 있습니다. 목록이나 세부 사항을 요청할 수있는 편의가 있습니다. 응용 프로그램이 다국어 사용자를 대상으로하기 때문에 설명이 여러 언어로 제공되는 경우가 있습니다.RESTful API : 번역 된 텍스트 필드를 표현으로 처리하는 방법은 무엇입니까?

이제 숙소 표현에서 이러한 번역을 어떻게 처리해야할지 모르겠습니다. 여러 언어가 없으면 필드 또는 숙박 시설에 대한 설명을 매우 간단하게 만들 것입니다.

이 문제를 어떻게 우아하게 해결할 수 있습니까?

현재 아이디어 : 설명 필드 대신 텍스트 <-> 문화권 쌍이있는 설명 목록을 추가하고 추가 (POST), 업데이트 (PUT) 및 삭제 (DELETE)를위한 숙박 시설에 /descriptions 추가 보조 소스를 추가하십시오. 새로운 번역.

답변

3

적절한 언어로 표현을 검색하려면 Accept-Language HTTP 헤더를 설정하기 만하면됩니다.

요청 :

GET /Hotel/345 
Accept-Language: fr 

응답 :

<Hotel> 
    <Description xml:lang='fr'>Ce edifice est magnifique</Description> 
</Hotel> 

업데이트 작업을 수행하는 당신은 당신이 당신의 미디어 타입 형식으로 XML을 사용하는 가정, 여러 기술 요소를 포함 할 수있다.

요청 :

PUT /Hotel/345 

<Hotel> 
    <Description xml:lang='en'>This building is magnificent</Description> 
    <Description xml:lang='fr'>Ce edifice est magnifique</Description> 
</Hotel> 
+0

덕분에, 그게 내가 희망하지만 언어 수락-옵션이 아닙니다, 여러 언어로 설명을 제공해야 할 필요가있을 것입니다. 귀하의 XML은 좋아 보이지만, 두 가지 설명 주위에 "<설명>"이 없어야합니까? – janpio

+0

하나의 설명을 포함하는 "설명"요소가 필요하지 않습니다. 이는 전적으로 사용자에게 달려 있습니다. Accept-Language를 사용하지 않으려는 경우 GET은 PUT에 사용한 것과 동일한 문서를 반환 할 수 있습니다. 그렇게하면 원하는만큼 많은 언어를 반환 할 수 있습니다. –

관련 문제