【问题标题】:consume REST service using apigee使用 apigee 使用 REST 服务
【发布时间】:2013-07-30 00:47:04
【问题描述】:

我是使用 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 控制台指定正确的内容类型来测试我的服务?

感谢您的帮助。

【问题讨论】:

    标签: rest apex-code apigee


    【解决方案1】:

    如果您要继续使用它向 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 对变量及其值进行编码。

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

    【讨论】:

    • 我似乎无法在我的 REST 服务的 apigee 控制台中的标题、模板或正文中添加任何参数/值。如果我使用 GET 请求并运行:https://c16.salesforce.com/services/apexrest/Account/001f0000007qcD5 我会得到成功的响应。但是,如果我尝试运行 POST 请求,我无法在 Body、Header 或 Template 中输入任何参数?
    • 您使用的是 apigee 的通用 api 控制台吗?
    • 我可以输入正文、标题等。您要调用什么函数?
    • 我正在尝试调用 POST 来测试我的 REST 服务,以验证它是否创建了帐户记录。我已经成功测试了返回正确记录的 GET 请求。但是,当我尝试测试 POST 时,我无法在标题、模板和正文中输入任何参数,我认为我应该能够这样做:{ "name" : "Test" } 等...这可能是我的用户错误我是 REST 新手,也使用 apigee 控制台。
    • 是的,我了解 GET 部分。 Get 不需要 POST 做的一些事情,所以很简单。既然这是您自己的 REST 服务,为什么不使用 generic console?这将允许您指定要将请求发送到的位置以及详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2014-10-17
    相关资源
    最近更新 更多