我是使用REST服务的新手,我正在使用apigee.com测试我的REST服务的GET和POST请求。
我的问题是,如何通过传递参数来创建新记录来测试我的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 :(得分:0)
如果您要继续使用它来将有效负载发送到网址,您应该查看您正在接受Rest服务接受的格式并添加“x-www-form-urlencoded”。
您可以在Apigee控制台的Headers选项卡下指定Content-Type,您只需要查看服务器接受的Content-Type。
要在网址中传递参数,您只需将?
附加到网址的末尾,然后输入变量名称和值。这些通常称为queryStrings
像这样:
www.example.com?name=Dman100&Rep=104。
此示例将传递给变量name和Rep。在URL中传递变量时,必须注意html url对变量及其值进行编码。
对于帖子,您可以在有效负载/正文中发送内容。无论采用何种格式。