【发布时间】:2015-01-07 15:03:23
【问题描述】:
我有一个来自 JNE 程序员的 restAPI 代码,公司代表送货服务。
他们说这个 API 可以在 POSTMAN(Google Chrome 应用程序)中运行
它在 POSTMAN 中运行良好,在此应用程序中我只需要插入 request URL(我从 JNE 公司获得)和两个键和值的标题,如下所示;
KEY VALUE
----------------------------------------------
username mycompany
api key 4534645756864234523424
这个方法是POST,当我发布它时,它给了我预期的结果。
我现在的问题是,我怎样才能在我的页面中运行这段代码,这样我就不需要在邮递员中运行它了。
如果有人可以帮助我解决这个问题,我今天将学习 JSON。
[更新问题 1]
{
"version":1,
"collections":
[
{
"id":"c8b12431-8586-cbdd-aef7-056ec177509a",
"name":"asdasdadasdasdasd",
"timestamp":1415593872130,
"requests":
[
{
"collectionId":"c8b12431-8586-cbdd-aef7-056ec177509a",
"id":"d1b2ed66-781d-d02e-c4eb-0416dd3e07a1",
"name":"http://api.jne.co.id:8889/tracing/mycompany/origin/key/jak",
"description":"",
"url":"http://api.jne.co.id:8889/tracing/mycompany/origin/key/jak",
"method":"POST",
"headers":"username: mycompany\napi_key:089a12ffb8cd5009bdfa4ba5bdb9ee26\n",
"data":
[
{
"key":"username",
"value":"mycompany",
"type":"text"
},
{
"key":"api_key",
"value":"dsfsdfsdfs98d98sdfsdf9898dsfs",
"type":"text"
}
],
"dataMode":"params",
"timestamp":0,
"responses":[],
"version":2
}
]
}
],
"environments":[],
"headerPresets":[],
"globals":[]
}
来自上面的更新问题;我的第一个问题是:]
我必须以什么格式保存这个文件:JSON?要不然是啥?
我应该将此文件与我的网页保存在一个文件中吗?或者我可以将它保存为外部文件吗?
从上面的代码,我得到如下结果:
{
"detail": [
{
"code": "CGK10000",
"label": "JAKARTA"
},
{
"code": "CGK10100",
"label": "JAKARTA BARAT"
},
{
"code": "CGK10300",
"label": "JAKARTA PUSAT"
},
{
"code": "CGK10200",
"label": "JAKARTA SELATAN"
},
{
"code": "CGK10500",
"label": "JAKARTA TIMUR"
},
{
"code": "CGK10400",
"label": "JAKARTA UTARA"
}
]
}
如果您查看"label",它是从"name":"http://api.jne.co.id:8889/tracing/mycompany/origin/key/jak", 中最后一个字符串的键生成的
jak 的最后一个字符串的标签结果是我要插入到下拉 html 标记中的内容,用户将在其中选择它(位置名称)。
[更新完整代码]
POST /tracing/mycompany/origin/key/jak HTTP/1.1
Host: api.jne.co.id:8889
Content-Type: application/json
username: mycompany
api_key: 089a12ffb8cd5009bdfa4ba5bdb9ee26
{
"version":1,
"collections":
[
{
"id":"c8b12431-8586-cbdd-aef7-056ec177509a",
"name":"asdasdadasdasdasd",
"timestamp":1415593872130,
"requests":
[
{
"collectionId":"c8b12431-8586-cbdd-aef7-056ec177509a",
"id":"d1b2ed66-781d-d02e-c4eb-0416dd3e07a1",
"name":"http://api.jne.co.id:8889/tracing/mycompany/origin/key/jakarta",
"description":"",
"url":"http://api.jne.co.id:8889/tracing/mycompany/origin/key/jakarta",
"method":"POST",
"headers":"username: mycompany\napi_key:089a12ffb8cd5009bdfa4ba5bdb9ee26\n",
"data":
[
{
"key":"username",
"value":"mycompany",
"type":"text"
},
{
"key":"api_key",
"value":"089a12ffb8cd5009bdfa4ba5bdb9ee26",
"type":"text"
}
],
"dataMode":"params",
"timestamp":0,
"responses":[],
"version":2
}
]
}
],
"environments":[],
"headerPresets":[],
"globals":[]
}
我已将此文件保存为jne.json 和jne.html,但浏览器只显示完整的代码 insted 以邮递员的方式显示结果。我认为我在这里缺少很多东西。
【问题讨论】:
-
您使用哪种编程语言?
-
对不起先生,就我这次而言,我在我的网页中使用 PHP。但我认为这个 restAPI 使用的是 JSON。如果有必要我会学习它,因为这是我第一次面对 JSON。帮助
-
这里不关注 JSON,更多的是关于 HTTP。 JSON 仅用于有效负载。您也可以使用 XML。 JSON 本身非常简单。您会在this site 上找到很多信息。要获得与 Postman 相同的结果,您必须在 PHP 中构建相同的请求(我不太熟悉),这意味着您需要将 JSON 有效负载发布到给定的 URL 并将两个标头添加到请求中。
-
如果你只能用特定的编程语言帮助我,那也没关系。我只需要知道如何用编程语言运行这个 restApi。
-
这就是我上面写的。创建一个新的 HTTP Post 请求。请求 URL 是提供给您的 URL。向此请求添加两个标头(用户名和 api 键)及其值。您还需要将 Content-Type 标头设置为 application/json(Postman 会自动为您执行此操作)。作为最后一步,您将 JSON 有效负载添加到请求的正文中。多亏了 HTTP,这些是每种编程语言的步骤。