2013-07-30 2 views
0

Я новичок в использовании сервисов REST, и я использую apigee.com для тестирования запросов GET и POST для моей службы REST.использовать службу REST с помощью apigee

Мой вопрос: как я могу проверить свой запрос POST, передав параметры для создания новой записи?

Я могу успешно запустить свой запрос GET, и я получаю ответ JSON с запрошенными записями.

Когда я пытаюсь мой запрос пост, я получаю сообщение об ошибке:

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

Вот мой метод класса:

@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; 
} 

Как передать параметры в URL и как сделать Я указываю правильный тип контента, используя консоль agigee для тестирования моего сервиса?

Спасибо за любую помощь.

ответ

0

Вы должны посмотреть в том формате, в котором у вас есть служба Rest, принять и добавить «x-www-form-urlencoded», если вы собираетесь продолжать использовать его для отправки полезных данных по URL-адресу.

Вы указываете Content-Type на вкладке Headers на консоли Apigee, вам просто нужно посмотреть, что Content-Type принимает сервер.

Чтобы передать параметры в URL-адресе, вы просто присоедините ? до конца URL-адреса и поместите имена и значения переменных. Их обычно называют queryStrings примерно так:

www.example.com?name=Dman100 & Rep = 104.

Этот пример передаст имя переменной и Rep. При передаче переменных в URL-адресе вы должны быть осторожны с html url для кодирования переменных и их значений.

Для сообщений, которые вы отправляете в полезной нагрузке/теле. В любом формате.

+0

Я не могу добавить какие-либо параметры/значения в заголовок, шаблон или тело в консоли apigee для моей службы REST. Если я использую запрос GET и запускаю: 'https: // c16.salesforce.com/services/apexrest/Account/001f0000007qcD5' Я получаю успешный ответ. Но если я попытаюсь запустить запрос POST, я не могу ввести какие-либо параметры в тело, заголовок или шаблон? – Dman100

+0

Вы используете универсальную консоль api для apigee? – CBIII

+0

Это URL-адрес, который я использую 'https://apigee.com/console/salesforce ' – Dman100