我们的示例天气API除了GET方法外,不允许您使用其他任何方法,因此,在本练习中,要使用其他带有curl的方法,我们将使用Swagger的petstore API。但是,我们实际上将不会使用Swagger UI(稍后将对此进行探讨)。目前,我们只需要一个可用于创建,更新和删除内容的API。在此示例中,使用Petstore API,您将创建一个新宠物,更新该宠物,获取该宠物的ID,删除该宠物,然后尝试获取已删除的宠物。

目录

  • 创建一个新宠物
  • 更新你的宠物
  • 通过ID获取宠物的名字
  • 删除你的宠物
  • 将curl导入Postman
  • 在Postman中导出curl

创建一个新宠物

要创建宠物,您必须在请求正文中传递JSON消息。您无需将JSON编码并传递到URL中,而是将JSON存储在文件中并引用该文件。

1.将以下内容插入文本文件。此信息将在curl请求的-d参数中传递:

{  "id": 123,  "category": {    "id": 123,    "name": "test"  },  "name": "fluffy",  "photoUrls": [    "string"  ],  "tags": [    {      "id": 0,      "name": "string"    }  ],  "status": "available"}

2. 将第一个id值更改为另一个整数(整数)。另外,将宠物的fluffy名称更改为其他名称。

3. 将文件保存在您可以从终端方便地访问的目录中,例如用户目录(在Mac上为Users / YOURUSERNAME-在计算机上用您的实际用户名替换YOURUSERNAME)。

4. 在终端中,浏览到保存mypet.json文件的目录。(通常,默认目录为Users / YOURUSERNAME,因此是上一步。)如果您从未使用命令行浏览过目录,请按照以下步骤操作:

  • 在Mac上,通过输入pwd查找当前的工作目录。然后通过键入更改目录cd ../将其上移。通过键入cd pets向下移动一个级别,其中pets是要移动到的目录的名称。键入ls列出目录的内容。
  • 在Windows上,查看提示路径以查看当前目录。然后通过输入cd ../向上移动一个级别。通过键入cd pets向下移动一个级别,其中pets是要移动到的目录的名称。键入dir以列出当前目录的内容。

在终端或命令提示符与JSON文件位于同一目录中之后,使用以下curl请求创建新宠物:

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d @mypet.json "http://petstore.swagger.io/v2/pet"

Content-Type指示在请求正文中提交的内容的类型。接受表示我们将在响应中接受的内容类型。响应应如下所示:

{"id":51231236,"category":{"id":4,"name":"testexecution"},"name":"fluffernutter","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"}

在响应中,检查是否已返回您宠物的名字。

更新您的宠物

猜猜是什么,您的宠物讨厌它的名字!使用更新宠物方法将宠物的名字更改为更正式的名称。

  1. 在mypet.json文件中,更改宠物的名称。
  2. 使用PUT方法而不是POST来更新宠物的名字(否则保持相同的curl内容):
curl -X PUT --header "Content-Type: application/json" --header "Accept: application/json" -d @mypet.json "http://petstore.swagger.io/v2/pet"

通过ID获取宠物的名字

通过将ID传递到/ pet / {petID}端点来找到您的宠物的名字:

  1. 在您的mypet.json文件中,复制第一个id值。
  2. 使用此curl命令获取有关该宠物ID的信息,将51231236替换为您的宠物ID。
curl -X GET --header "Accept: application/json" "http://petstore.swagger.io/v2/pet/51231236"

回复中包含您宠物的名字和其他信息:

{"id":51231236,"category":{"id":4,"name":"test"},"name":"mr. fluffernutter","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"}

您可以通过将JSON粘贴到JSON格式化工具中来对其进行格式化:

{  "id": 51231236,  "category": {    "id": 4,    "name": "test"  },  "name": "mr. fluffernutter",  "photoUrls": [    "string"  ],  "tags": [    {      "id": 0,      "name": "string"    }  ],  "status": "available"}

删除你的宠物

不幸的是,您的宠物已经死亡。现在是时候从宠物注册表中删除您的宠物了。

1.使用DELETE方法删除您的宠物。将5123123替换为您的宠物ID:

curl -X DELETE --header "Accept: application/json" "http://petstore.swagger.io/v2/pet/5123123"

2.现在检查以确保您的宠物已被移除。使用GET请求查找具有该ID的宠物:

curl -X GET --header "Accept: application/json" "http://petstore.swagger.io/v2/pet/5123123"

您应该看到以下错误消息:

{"code":1,"type":"error","message":"Pet not found"}

此示例使您能够了解如何使用curl创建,读取,更新和删除资源。这四个操作称为CRUD,几乎对每种编程语言都通用。

尽管Postman可能更易于使用,但是curl有助于提高功耗。质量保证团队通常会构建高级测试场景,这些场景会通过大量的curl请求进行迭代。

将curl导入Postman

您可以通过执行以下操作将curl命令导入Postman:

1.在Postman中打开一个新标签,然后单击左上角的导入按钮。

2.选择粘贴原始文本并插入curl命令:

curl -X GET --header "Accept: application/json" "http://petstore.swagger.io/v2/pet/5123123"

请确保一开始没有多余的空格。

‌3.单击导入。

4.关闭对话框。

5.单击发送。(如果删除了宠物,您将看到与以前相同的“找不到宠物”错误消息。)

从Postman中导出curl

您还可以通过执行以下操作将Postman导出curl:

1.如果需要,请在Postman中选择您的OpenWeatherMap API请求之一。

2.点击代码按钮(位于保存下方)。

3. 从下拉菜单中选择curl。

4. 复制代码段。

curl -X GET   'https://api.openweathermap.org/data/2.5/weather?lat=37.3565982&lon=-121.9689848&units=imperial&appid=fd4698c940c6d1da602a70ac34f0b147'   -H 'Postman-Token: de0da6b7-1dbc-44d6-acc1-9741f05a7bf1'   -H 'cache-control: no-cache'

您可以看到Postman向请求中添加了一些额外的标头信息(-H'Postman-Token:de0da6b7-1dbc-44d6-acc1-9741f05a7bf1' -H'cache-control:no-cache')。多余的标题信息是不必要的,可以删除。

5. 删除反斜杠和换行符。如果您使用的是Windows,请将单引号更改为双引号。

6. 将curl命令插入终端,然后观察结果。

curl -X GET "https://api.openweathermap.org/data/2.5/weather?lat=37.3565982&lon=-121.9689848&units=imperial&appid=fd4698c940c6d1da602a70ac34f0b147"

通过Postman的导入和编码功能,您可以轻松地在Postman和curl之间切换。

curl get请求传递参数_使用curl调用restful API相关推荐

  1. curl get请求传递参数_curl 命令

    curl 是一个命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面.功能介绍如下. 一.查看源码 $ curl www.sina.com// ...

  2. vue axios 发送get请求传递参数给后端失败_Java之Vue插件之Axios

    Java之Vue插件之Axios,环境安装: npm install --save axios vue-axios //安装axios Npm install //安装依赖 在main.js中注册 i ...

  3. POST请求传递参数(十一)

    POST请求传递参数(十一)

  4. 【PHP学习】—get请求传递参数(五)

    [PHP学习]-get请求传递参数(五) 一.浏览器的访问方式:(增删改查) get:请求访问内容 (查询) post:添加数据(增加) put:(修改) delete:(删除) 二.PHP文件的格式 ...

  5. vuecli+axios的post请求传递参数异常

    vuecli+axios的post请求传递参数异常 参考文章: (1)vuecli+axios的post请求传递参数异常 (2)https://www.cnblogs.com/yanqiong/p/1 ...

  6. 表单提交和超链接请求传递参数的几种方式

    表单提交和超链接请求传递参数的几种方式 这段时间在使用easy-ui的datagrid,他有自己提交表单的方式,所以就整理整理页面对参数的提交方式: 注:下面代码都已经过测试. 1. HTML提交表单 ...

  7. curl post请求表单_如何使用cURL发出POST请求

    在本文中,我们将解释如何使用cURL发出POST请求.HTTP POST方法用于将数据发送到远程服务器. cURL是一种命令行实用程序,用于使用一种受支持的协议从远程服务器传输数据或将数据传输到远程服 ...

  8. 存储http请求返回参数_前端学习需要知道的 HTTP 知识(1/7)

    基础知识 场景 我们打开浏览器,输入网址(比如 https://www.bilibili.com/),然后我们就可以看到 b 站的 Web 页面,Web 页面当然不能凭空显示出来.根据 Web 浏览器 ...

  9. angular路由传递参数_@medux 路由篇

    欢迎您开始@medux 之旅,建议您依次阅读以下 4 篇文章,这将耗费您大约 30 分钟. 为什么你需要 @medux @medux 基础概念速览 @medux 路由篇 @medux 数据流 第 3 ...

  10. rpc 调用webservice怎样传递参数_五分钟让你了解RPC原理详解

    欢迎关注专栏[以架构赢天下]--每天持续分享Java相关知识点 以架构赢天下​zhuanlan.zhihu.com 以架构赢天下--持续分享Java相关知识点 每篇文章首发此专栏 欢迎各路Java程序 ...

最新文章

  1. 第四百六十八天 how can I 坚持
  2. MFC消息映射的定义
  3. 不同寻址方式的灵活应用——改变每个单词首字母大小写
  4. 【机器视觉】 continue算子
  5. 考研计算机专业复试,计算机专业考研复试准备
  6. 将一个长度最多为30位数字的十进制非负整数转换为二进制数(Java)
  7. go json部分解析_Go语言爱好者周刊:第 60 期 — 今天这题你做对了吗?
  8. python写日志到文件_python 通过logging写入日志到文件和控制台的实例
  9. 计算机-flash遮罩层动画,FLASH遮罩动画原理及应用
  10. 一个特别好用的免费json数据API接口--特别推荐
  11. linux3d游戏,笔记本linux系统能玩3d游戏吗?
  12. 小鸡模拟器android,安卓小鸡模拟器运行总结~
  13. C++标准模板库(STL)(3) 之 vector map容器快速学习 (自学笔记)
  14. base64字符串转换为图片
  15. 什么是数据资产管理?5个角度帮你参透数据资产管理
  16. vim编辑器替换以及全局替换
  17. Activity的相关知识(一)
  18. python中sleep的用法_Python sleep 用法 原
  19. Java三大特性/四大特性简单理解
  20. 乒乓操作的写入控制器

热门文章

  1. python编一个答题程序_从0到1使用python开发一个半自动答题小程序的实现
  2. @DateTimeFormat 和 @JsonFormat 注解的区别和使用
  3. css3中2D变形tranform总结(附实例)
  4. C#hashtable使用说明 以及 Hashtable和HashMap的区别【总结性】
  5. IE8变成IE7的显示方式
  6. CSS Hacks / Conditional Comments For IE
  7. Windows 2016 减肥
  8. BZOJ3925: [Zjoi2015]地震后的幻想乡
  9. PaaS平台OpenShift企业部署的“脑图”
  10. 简单高效的短链接生成服务C#实现