zoukankan      html  css  js  c++  java
  • REST 测试工具

    两款 REST 测试工具

    用CURL命令行测试REST API 无疑是低效率的,这里把最近使用的两款 Chrome 插件总结下

    • POSTMAN

      • 简单易用
    • REST Console

      • 功能强大

    使用的话用POSTMAN就够用了,但是我更喜欢 REST Console ,因为她的功能非常强大和全面,一下子就能让你搞清楚你在做的事情,你用不到的功能也可以帮助你更加了解 REST, http请求的过程。

    下面是两个的截图界面

    1. POSTMAN 测试工具

    1. Authorization

    • Basic Auth
    • Digest Auth
    • OAuth 1.0

    2. REQUEST METHOD

    GET, PUT, POST, PATCH, DELETE, LINK, UNLINK, COPY, HEAD, OPTIONS, PURGE

    3. Request Headers

    Content-Type:

    • form-data
    • x-www-form-urlencoded
    • raw
    Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryVQuD0ghtRqDehBQH
    Request Payload:
    
    ------WebKitFormBoundaryVQuD0ghtRqDehBQH
    Content-Disposition: form-data; name="image"
    
    dddddd
    ------WebKitFormBoundaryVQuD0ghtRqDehBQH--
    Content-Type:application/x-www-form-urlencoded
    
    Form Data:
    image:bbbbbbb
    Content-Type:text/plain;charset=UTF-8
    Request Payload:
    
    image=aaaaaaaaaaaaaa

    这3种方法其中 form-data 是不支持 PUT 方法的。而用REST Console中的 Content-Type:multpart/form-data 是支持 PUT 方法的。不知道是不是bug

    4. Response Body

    支持3种展示方式, 以及常用的XML和JSON格式。

    • Pretty
    • Raw
    • Preview
    • JSON/XML

    5. Response Header

    Connection →
    Connection
    Options that are desired for the connection
    
    Keep-Alive
    Content-Length →93
    Content-Type →application/json; charset=UTF-8
    Date →Fri, 01 Aug 2014 05:41:56 GMT
    Keep-Alive →timeout=5, max=100
    Server →Apache/2.2.9 (Win32) PHP/5.4.30 mod_fcgid/2.3.6
    X-Powered-By →PHP/5.4.30

    2. REST Console 测试工具

    1. Options

    软件相关设置,配色,主题,高亮设置等(说明这个东东功能比较全面)

    特别说下一个选项就是 Help Lines, 开启这个选项,对着 REST Console的每一个选项,就很容易搞清楚 http 的 请求和响应中的每一个项目是怎么回事

    原创文章,转载请注明 : http://www.cnblogs.com/ganiks/

    2. Target

    设置下面内容:

    • Target

      • Request URI : 这个是请求的 URI
      • Request Method : PUT POST ...
      • Request Timeout
    • Accept

      • Accept: (注意区分这个type和后面的content-type)

        • */*(一般都是这个选项)
        • application/atom+xml
        • test/plain
        • application/javascript
        • application/json
        • application/http
        • application/pdf
        • application/rar
        • ... ...
      • Acceptable Language

    3. Body

    • Content Headers

      • Content-Type: mime type of the request body(跟PUT和POST方法配合使用)

        • application/x-www-form-urlencoded
        • text/plain
        • multipart/form-data
        • 这3种是在 POSTMAN中支持的3种,但其实有很多很多种,在 REST Console 中的输入框中输入几个字母,会自动匹配库中的很多选项
      • Acceptable Encoding: 比如 utf-8(参考 HTTP compression)
      • Content-MD5: 比如 Q2hlY2sgSW50ZWdyaXR5IQ==
    • Request Payload

      • RAW BODY: image=ccccccccc
      • Request Params: key=>value
      • Attachements: upload files
    • Custom Headers

      • Request Parameters

    对照个例子:

    Accept:*/*
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4
    Authorization:Basic MTAwLXRva2VuOg==
    Cache-Control:no-cache
    Connection:keep-alive
    Content-Length:20
    Content-Type:text/plain;charset=UTF-8
    Host:192.168.4.126
    Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
    User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36

    4. Authorization

    • Basic Auth
    • Setup oAuth
    • Refresh oAuth

    5. Headers

    • Headers

      • Max-Forwards: 10 (限制消息可以穿破 的代理和网关的层数)
      • Range
      • From: (发送消息者的邮件地址)
      • Warning
      • Pragma
      • ...
    • Cache (内容太多了)
    • Common non-standard request headers

    6. Response

    • Response Body: 支持 JSON XML HTML CSS 等高亮格式

      {
          "id": "162",
          "image": "cccccccc",
          "link": "dd2",
          "show_date": "0000-00-00",
          "state": 1,
          "show_order": 0
      }
    • RAW Body

      {"id":"162","image":"cccccccc","link":"dd2","show_date":"0000-00-00","state":1,"show_order":0}
    • Response Headers

      Status Code: 200
      Date: Fri, 01 Aug 2014 06:39:00 GMT
      Server: Apache/2.2.9 (Win32) PHP/5.4.30 mod_fcgid/2.3.6
      Connection: Keep-Alive
      X-Powered-By: PHP/5.4.30
      Content-Length: 94
      Keep-Alive: timeout=5, max=100
      Content-Type: application/json; charset=UTF-8
    • Response Preview
    • Request Body

      Request Url: http://192.168.4.126/news/162
      Request Method: PUT
      Status Code: 200
      Params: {}
    • Request Headers

      Content-Type: multipart/form-data
      Authorization: Basic MTAwLXRva2VuOg==
      Accept: */*
      Connection: keep-alive
      Origin: chrome-extension: //rest-console-id
      User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36

    3. http请求的Accept参数

    上面提到了一个设置的地方, Accept 和 Content-Type

    这两个参数很重要

    前者一般如果不设置默认的是 */*, POSTMAN 和 RESTConsole 工具中默认的是 application/json,因此在不设置 Headers:Accept 参数的情况下返回的按照 json格式;
    而普通的浏览器中返回的则默认是 application/xml 格式。

    后者这个 type 指的是head body 内容的 类型

    这就是为什么这两个参数分别被 REST Console 工具分别放在了 2. Target 3. Body 中。

    在 yii 中默认支持的 rest api 格式有 xml 和 JSON, yii 会根据 请求的 head 的 Accept 参数来返回对应格式的数据。

    这个参数 在chrome 中可以修改默认值吗?

     
    分类: 工具软件
    标签: resthttp
  • 相关阅读:
    最新sql遇到的问题
    js高级
    oracle数据库子查询的结果需要使用多次解决办法
    Rocket 命令
    mysql锁
    mysql sql优化思路
    jenkins-系统管理-节点管理进去报错
    数据同步工具 DataX 的使用
    java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)
    shell脚本批量压缩log文件并备份
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3887600.html
Copyright © 2011-2022 走看看