3

我正在为 Apigee Edge 服务器使用 REST API,并且正在为我的组织获取 API 产品的详细信息: https ://api.enterprise.apigee.com/v1/organizations/chrisnovak/apiproducts/PremiumWeatherAPI

这是回应:

{
  "apiResources" : [ ],
  "approvalType" : "auto",
  "attributes" : [ {
    "name" : "description",
    "value" : "Premium API Product to expose the weather API to developers"
  }, {
    "name" : "access",
    "value" : "public"
  }, {
    "name" : "developer.quota.limit",
    "value" : "10000"
  }, {
    "name" : "developer.quota.interval",
    "value" : "1"
  }, {
    "name" : "developer.quota.timeunit",
    "value" : "month"
  } ],
  "createdAt" : 1351796304109,
  "createdBy" : "noreply_admin@apigee.com",
  "description" : "",
  "displayName" : "Weather API",
  "environments" : [ "test", "prod" ],
  "lastModifiedAt" : 1386812022110,
  "lastModifiedBy" : "cnovak@apigee.com",
  "name" : "PremiumWeatherAPI",
  "proxies" : [ "weather" ],
  "quota" : "10000",
  "quotaInterval" : "1",
  "quotaTimeUnit" : "month",
  "scopes" : [ "READ" ]
}

但是,我在响应中没有看到唯一键,也没有看到任何关于唯一键是什么的API 产品的 Apigee API 参考文档。

我的问题是:

  1. 系统中 API 产品的唯一 ID 是什么?
  2. 如果没有唯一 ID,如果 API 产品重命名会怎样?我需要能够将 API 产品与外部系统中的文档相关联,如果名称更改,我将无法再将该文档与该 API 产品相关联。
4

3 回答 3

4

克里斯,

唯一 ID 是名称字段。它是在您第一次保存产品时根据显示名称生成的。那永远不会改变。以后对名称的任何更改都会更改 displayName 字段,但不会更改名称。

于 2014-01-23T18:57:06.630 回答
1

“名称”字段是此处的唯一字段。如果您更改显示名称,它不会影响名称字段,因此您可以继续使用文档中的名称字段。

于 2014-01-24T07:09:29.233 回答
1

名称字段在这里是唯一的。

您可以通过更改名称字段并为 apiproducts 执行 POST 来测试它。它将创建一个显示名称相同但名称字段不同的 apiproduct。

然后,如果您使用相同的名称字段并仅编辑显示名称并尝试发布 apiproducts 它将给出如下错误:

-bash-4.1$ POST /o/weatherapi/apiproducts -H "Accept: text/xml" -H "Content-Type: text/xml" -d @st.xml Test keymanagement.service.apiproduct_already_exists 名称为 yahoo1 的 ApiProduct 已经存在 -bash-4.1$

于 2014-02-01T07:05:27.920 回答