2009-11-02 9 views
2

저는 현재 작업중인 애플리케이션에 대한 RESTful 요청을 설정하고 있으며 클라이언트가 매개 변수를 제공하는 대신 uri에서 요청으로 xml을 사용하려고합니다. URI 그 자체. 나는 URI를 찾고 있어요xml을 사용하여 안정 POST 요청 설정하기

과 같이 : someurl/서비스/요청 대신

: someurl/서비스/요청 ID = {ID} & 이름 = {이름} 내가 가진

? POST 요청을 만들 때 컨벤션이 무엇인지 알아보기 위해 웹을 검색했습니다. 어떤 종류의 도움이 클라이언트가 XML을 사용할 수 있도록이 POST 요청을 설정하는 방법에 대한 올바른 방향으로 나를 가리킬 수 있습니까?

관련성이 있는지는 확실치 않지만 SPRING 3.0 프레임 워크를 사용하여 JAVA에서 서버 측 코드를 설정하고 있습니다. 자세한 내용을 제공해야하는지 알려주세요.

도움 주셔서 감사합니다.

+0

HTTP 사양에 따라 POST 요청에서 매개 변수를 지정할 수 있지만 POST XML 파일을 원한다면이 파일의 모양이 달라질 수 있습니다. –

답변

2

매개 변수를 요청 본문에 넣을 수 있습니다. URL에 URL을 추가하는 것과 같은 형식입니다. 예 :

POST /path/script.cgi HTTP/1.0 
User-Agent: HTTPTool/1.0 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 32 

home=Cosby&favorite+flavor=flies 

당신은 꽤 쉽게 프로토 타입에 그 작업을 수행 할 수 있습니다 당신의 CGI가 알 수 있도록 끝을 매개 곳

new Ajax.Request('someurl/service', { 
method: 'post', 
postBody: 'home=Cosby&favorite+flavor=flies', 
encoding: 'UTF-8'}); 

은 구분 기호의 일종으로 postBody에 추가, XML 파일을 추가하려면 xml이 시작되는 곳.

나는 이것이 당신이 찾고 있었던 것이라고 생각합니다. 도움이되기를 바랍니다.

+0

전체 XML 문서 만 보내고 싶다면 괜찮습니다 ...'postBody'를 XML 데이터로 바꾸십시오. 이 경우 콘텐츠 유형을 변경하는 것이 좋습니다. – jheddings

1

POST 본문에 원하는 것을 전달할 수 있습니다. 따라서 XML을 사용하려면 XML을 사용할 수 있습니다. 예 :

POST /car 
Content-Type: text/xml 
<car> 
    <date>10-10-2007<date> 
    <type>Corvette</type> 
</car> 

HTTP/1.1 201 CREATED 

나는 모든 REST API를 프레임 워크는 쉽게 클라이언트 요청과 서버의 응답에 XML을 지정할 수 있습니다 생각합니다. 예를 들어 Restlet의 quick start을 참조하십시오.