zoukankan      html  css  js  c++  java
  • 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=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 简单好用的接口测试辅助工具

  • 相关阅读:
    opencv-learnopencv-Facial Landmark Detection
    【OpenCV】Learn OpenCV
    leetcode-1-TwoNums
    【c++基础】判断是否到文件末尾-eof函数
    【c++基础】int转string自动补零
    【linux】如何退出shell终端
    【机器学习算法】bagging算法
    【机器学习算法】Boostrapping算法
    【python基础】如何注释代码块
    【机器学习算法】cascade classifier级联分类器
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/11672601.html
Copyright © 2011-2022 走看看