1

我是使用 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 中的参数以及如何使用 agiee 控制台指定正确的内容类型来测试我的服务?

谢谢你的帮助。

4

1 回答 1

0

如果您要继续使用它将有效负载发送到 URL,您应该查看您的 Rest 服务接受的格式并添加“x-www-form-urlencoded”。

您在 Apigee 控制台的 Headers 选项卡下指定 Content-Type,您只需查看服务器接受的 Content-Type。

要在 url 中传递参数,您只需附加?到 Url 的末尾并放置变量名称和值。这些通常称为queryStrings ,如下所示:

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

此示例将传递给变量 name 和 Rep。在 URL 中传递变量时,您必须小心 html url 对变量及其值进行编码。

对于帖子,您在有效负载/正文中发送内容。以任何必要的形式。

于 2013-07-30T04:17:01.770 回答