2013-07-30 4 views
0

저는 REST 서비스를 처음 사용하고 apigee.com을 사용하여 REST 서비스에 대한 GET 및 POST 요청을 테스트하고 있습니다.apigee를 사용하여 REST 서비스를 사용합니다.

제 질문은 매개 변수를 전달하여 POST 요청을 테스트하여 새 레코드를 만들 수 있습니까?

내 GET 요청을 성공적으로 실행할 수 있으며 요청한 레코드가 포함 된 JSON 응답을 반환합니다. 나는 URL에 매개 변수를 전달하는 방법과 어떻게해야합니까

@HttpPost 
global static Merchandise createMerchandise(String name, String description, Double price, Integer totalInventory) { 
    System.Debug('POST /merchandise/*'); 

    Merchandise__c merchandise = new Merchandise__c(); 
    merchandise.Name = name; 
    merchandise.Description__c = description; 
    merchandise.Price__c = price; 
    merchandise.Total_Inventory__c = totalInventory; 

    insert merchandise; 

    Merchandise merch = castToMerchandise(merchandise); 

    return merch; 
} 

: 여기

"message": "Content-Type header specified in HTTP request is not supported: application/x-www-form-urlencoded; charset=UTF-8", 
"errorCode": "UNSUPPORTED_MEDIA_TYPE" 

내 수업 방법 : 내 POST 요청을하려고하면

, 나는 오류를 받고 있어요 내 서비스를 테스트하기 위해 agigee 콘솔을 사용하여 올바른 컨텐츠 유형을 지정합니까?

도움 주셔서 감사합니다.

답변

0

Rest 서비스가 허용하는 형식을 살펴보고 페이로드를 URL로 계속 전송하려면 "x-www-form-urlencoded"를 추가해야합니다.

Apigee 콘솔의 헤더 탭에서 Content-Type을 지정하면 서버가 허용하는 Content-Type을 검색하면됩니다.

URL에 매개 변수를 전달하려면 ?을 URL의 끝에 첨부하고 변수 이름과 값을 입력하십시오. 이들은 보통 queryStrings 라고 불립니다.

www.example.com?name=Dman100 & 담당자 = 104.

이 예제는 변수 이름과 담당자에게 전달됩니다. 변수를 전달할 때는 변수와 값을 HTML로 인코딩해야합니다.

게시물의 경우 페이로드/본문에 콘텐츠를 보냅니다. 어떤 형식이든 필요합니다.

+0

내 REST 서비스의 경우 apigee 콘솔의 매개 변수, 헤더 또는 템플릿에 매개 변수/값을 추가 할 수 없습니다. GET Request를 사용하여'https : // c16.salesforce.com/services/apexrest/Account/001f0000007qcD5'를 실행하면 성공적인 응답을 얻을 수 있습니다. 그러나 POST 요청을 실행하면 Body, Header 또는 Template에 매개 변수를 입력 할 수 없습니까? – Dman100

+0

apigee에 일반 API 콘솔을 사용하고 있습니까? – CBIII

+0

이것은 'https://apigee.com/console/salesforce'를 사용하고있는 URL입니다. – Dman100