REST Client实际应用记录[完整版]

请求Content-Type为application/x-www-form-urlencoded

先来看一个完整示例:

##############
### qa问答

@msg="糖尿病患者应该如何安排饮食?"
POST {{beta}}/chat/qa HTTP/1.1
Authorization:Bearer {{login_app_access_token}}
Content-Type: application/x-www-form-urlencoded

msg={{msg}}

##############

这里,请求的Content-Type设置的是application/x-www-form-urlencoded,这里之前使用json格式,但是一直无法成功,后来修改为application/x-www-form-urlencoded,运行正确。

第一行:post请求的url;第二行是请求的验证信息;第三行请求头信息格式;最后一行请求参数信息

要注意的地方

  1. 请求文本最后面需要有一个空行,或者一个 # 开头的行,建议空行,这样多个请求看起来会非常好看、
  2. 请求参数和Content-Type之前一定要空一行,不然会出错
  3. 如果需要把 form 类型的参数拆分为多行,那么第二个参数开始必须以 & 开始
  4. GET 请求也可以将参数拆分多行,每行开头必须以 ? 或者 & 开始

请求Content-Type为application/json

直接上示例:

### sport运动种类识别

POST {{beta}}/np/v1.0/parse-unit HTTP/1.1
Authorization:Bearer {{login_app_access_token}}
Content-Type: application/json

{
    "msg":"跑步半个小时",
    "types":"sport",
    "weight":"60"
}

##############

这里请求的格式是json格式,多个参数之间,分割,如上。


关联

如果每一个请求的接口的头信息中需要登录的token信息,需要怎么实现了,rest也提供了很好的解决办法,可以在结果返回中取得相应结果中的token信息。

先来看一下响应结果是怎么格式的?

{
  "access_token": "26c14f94-7d0e-422e-a645-1bcc7ffef0b8",
  "token_type": "bearer",
  "refresh_token": "354cabc0-a667-44a0-9bc2-cab1f8a58b55",
  "expires_in": 3599,
  "scope": "READ WRITE"
}

具体代码如下

@login_app_access_token={{login_app.response.body.$.access_token}}

这里的话,我们可以在下一个接口中直接使用这个变量login_app_access_token,如上图中的代码

Authorization:Bearer {{login_app_access_token}}

这里涉及到3个接口,完整代码如下

@Basic=Y29tLmljYXJib254LmFuZHJvaWQ6Z0IzZ0dRYks2YmxIOE54Qw==
@app_phone=15612305820
@app_password=888888
@grant_type=password
@beta=https://api.icarbonx.com
### app登录,beta
# @name login_app_HB
POST {{beta}}/oauth2/token
Content-Type: application/x-www-form-urlencoded
Authorization:Basic {{Basic}}

username={{app_phone}}
&password={{app_password}}
&grant_type={{grant_type}}
&sms_verify=true
&appName=HealthBuddy

@login_app_HB_access_token={{login_app_HB.response.body.$.access_token}}
################ 食物识别接口 ###############
### 食物识别

POST {{beta}}/nlp/api/v1.0/food_detect  HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"饺子"
}

##############
### qa问答

@msg="糖尿病患者应该如何安排饮食?"
POST {{beta}}/chatbot/qa HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/x-www-form-urlencoded

msg={{msg}}

##############
### sport运动种类识别

POST {{beta}}/ai/nlp/v1.0/sport-parse-unit HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"跑步半个小时",
    "types":"sport",
    "weight":"60"
}

##############
### sport动作推荐

POST {{beta}}/ai/nlp/v1.0/action_recommend HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"我想锻炼大腿"
}

##############
### 病症食材查询

POST {{beta}}/nlp/api/v1.0/disease_to_food HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"冠状动脉粥样硬化性心脏病可以吃哪些食物"
}

##############
### 闲聊

POST {{beta}}/chit/st HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/x-www-form-urlencoded

msg={{msg}}

##############
### 营养能量查询接口

POST {{beta}}/nlp/api/v1.0/nutrition_query HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"1点点面包的热量"
}

##############
### 查询某食物是否可以补充某营养素 /nlp/api/v1.0/foods2funcs

POST {{beta}}/nlp/api/v1.0/nutri_food_qa HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"鳟鱼中维生素B1占比"
}

##############
### 查询某食物是否可以补充某营养素 

POST {{beta}}/nlp/api/v1.0/foods2funcs HTTP/1.1
Authorization:Bearer {{login_app_HB_access_token}}
Content-Type: application/json

{
    "msg":"香梨有什么营养"
}

到这里,使用rest基本完成了,如果还有其他需要,可以参考VSCode 小鸡汤 第01期 - REST Client 简单好用的接口测试辅助工具

posted @ 2019-10-14 17:26  janehost  阅读(181)  评论(0编辑  收藏  举报