请求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=asafadaeadafoeiadalfdajflew0sdafdsafw-0a-sdfas==
@app_phone=15612305820
@app_password=12345678
@grant_type=password
@beta=https://localhost
### app登录,beta
# @name login_app
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=Task_beta @login_app_access_token={{login_app.response.body.$.access_token}}
################ 食物识别接口 ###############
### 食物识别 POST {{beta}}/np/api/v1.0/detect HTTP/1.1
Authorization:Bearer {{login_app_access_token}}
Content-Type: application/json {
"msg":"饺子"
} ##############
### qa问答 @msg="糖尿病患者应该如何安排饮食?"
POST {{beta}}/chat/qa HTTP/1.1
Authorization:Bearer {{login_app_access_token}}
Content-Type: application/x-www-form-urlencoded msg={{msg}} ##############
### 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"
} ##############

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

REST Client实际应用记录的更多相关文章

  1. Dynamics 365 Online通过OAuth 2 Client Credential授权(Server-to-Server Authentication)后调用Web API

    微软动态CRM专家罗勇 ,回复332或者20190505可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 本文很多内容来自 John Towgood 撰写的Dynamic ...

  2. IDEA个人常用配置记录

    原文 一.常用快捷键 编辑 ⇧ + ↩:开始新的一行 ⌘ + ⇧ + ↩:行内任意位置进行换行,并自动补齐“;”.“{}” ⌘ + ⇧ + U:大小写切换 ⌥ + ⌦:删除到单词的末尾(⌦键为Fn+D ...

  3. Python Kafka Client 性能测试

    一.前言 由于工作原因使用到了 Kafka,而现有的代码并不能满足性能需求,所以需要开发高效读写 Kafka 的工具,本文是一个 Python Kafka Client 的性能测试记录,通过本次测试, ...

  4. 数据库的SQL语句创建和主外键删除操作

    create table UserType ( Id ,), Name nvarchar() not null ) go create table UserInfo ( Id ,), LoginPwd ...

  5. Open SQL详解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. PHP 进行统一邮箱登陆的代理实现(swoole)

    在工作的过程中,经常会有很多应用有发邮件的需求,这个时候需要在每个应用中配置smtp服务器.一旦公司调整了smtp服务器的配置,比如修改了密码等,这个时候对于维护的人员来说要逐一修改应用中smtp的配 ...

  7. 服务器编程入门(11)TCP并发回射服务器实现 - 单线程select实现

    问题聚焦: 当客户端阻塞于从标准输入接收数据时,将读取不到别的途径发过来的必要信息,如TCP发过来的FIN标志. 因此,进程需要内核一旦发现进程指定的一个或多个IO条件就绪(即输入已准备好被读取,或者 ...

  8. 关于php的socket

    这里仅记录tcp协议: 关于server: <?php /** * 测试关于php的socket函数 */ /** * 最基本的socket,服务器端: * 创建 * $sock = socke ...

  9. [JCIP笔记](四)踩在巨人的肩上

    读完第三章那些繁琐的术语和细节,头疼了整整一个星期.作者简直是苦口婆心,说得我如做梦一般.然而进入第四章,难度骤然降低,仿佛坐杭州的过山公交车突然下坡,鸟鸣花香扑面而来,看到了一片西湖美景. 从开始看 ...

随机推荐

  1. jQuery表单对象属性过滤器再探究(原创)

    上面例子的总结: 1.”+n+”千万不要把前面或者后面的+漏掉了.否则不会出现正确结果 2.$(“:checkbox”).click(countChecked)注意写法,不是click(functio ...

  2. Python-装饰器的进阶 小知识点

    ⼀. 通⽤装饰器的回顾 开闭原则: 对增加功能开放. 对修改代码封闭 装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能 通⽤装饰器的写法: def wrapper(fn): def inne ...

  3. ZOJ 3795 Grouping(scc+最长路)

    Grouping Time Limit: 2 Seconds      Memory Limit: 65536 KB Suppose there are N people in ZJU, whose ...

  4. docker--删除container和image

    docker的命令分两类Management Commands和Commands Management Commands是对docker里的对象进行管理的 [root@localhost docker ...

  5. 初探Remoting双向通信(四)

    原 初探Remoting双向通信(四) 2013年06月26日 11:11:32 喜欢特别冷的冬天下着雪 阅读数 2632 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  6. Caused by: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale zh_CN

    这个是很早以前的一个bug了,最近开始用idea发现追源码相当方便,于是结合网上的解决方案以及自己的判断追踪一下原因,当然没有深究,只是根据提示一直追而已:先说一下解决方案: <dependen ...

  7. Android Service完全解析(下)

    转载http://blog.csdn.net/guolin_blog/article/details/9797169 在上一篇文章中,我们学习了Android Service相关的许多重要内容,包括S ...

  8. JNI 在Android Studio利用NDK编译运行一个简单的c库

    NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西:另外就是为了效率更加高些.如果你在Eclipse+ADT下开发过NDK就能体会到要么是配置NDK还要下载Cygwin,配置Cygwin ...

  9. HashMap循环

    1. Map的四种遍历方式下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论. (1) for each map.entrySet()   Java   1 2 ...

  10. jQuery实现点击按钮展开和收起

    html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...