zoukankan      html  css  js  c++  java
  • http的GET方法参数中不能传列表,接收端的key会变

    如下

      async initTable() {
          await getHostAttributesForUser({'username': this.username}).then(response => {
            this.listQuery.user_preferences = response.data.preferences  # 这里是一个列表this.preference_index_list = response.data.preference_index_list
            this.colConfigs = response.data.colConfigs
            getHost(this.listQuery).then(response => {
              this.tableData = response.data.items
              this.total = response.data.total
            })
          })
        },

    实际转换发送的请求为:

    http://localhost:9528/dev-api/cmdb/host/get?node_key=saas&page=1&limit=10&user_preferences[]=公网IP&user_preferences[]=VPC私有IP&user_preferences[]=vCPU 核数&user_preferences[]=内存&user_preferences[]=实例计费方式&user_preferences[]=系统类型

    服务端接收到的request.GET内容为

    <QueryDict: {'node_key': ['saas'], 'page': ['1'], 'limit': ['10'], 'user_preferences[]': ['公网IP', 'VPC私有IP', 'vCPU 核数', '内存', '实例计费方式', '系统类型']}>

    解决方法

      async initTable() {
          await getHostAttributesForUser({'username': this.username}).then(response => {
            this.listQuery.user_preferences = _.join(response.data.preferences, ',')  #将列表转换成字符串
            this.preference_index_list = response.data.preference_index_list
            this.colConfigs = response.data.colConfigs
            getHost(this.listQuery).then(response => {
              this.tableData = response.data.items
              this.total = response.data.total
            })
          })
        },
  • 相关阅读:
    服务器中一个进程kill不掉,如何处理?
    JVM基本概念
    Redis安装以及常见问题
    JVM---类加载器
    lambda表达式
    maven学习(3)pom.xml文件说明以及常用指令
    maven学习(2)仓库和配置
    maven学习(1)下载和安装和初步使用(手动构建项目和自动构建项目)
    JMicro微服务之超时&重试
    JMicro微服务Hello World
  • 原文地址:https://www.cnblogs.com/robinunix/p/11356594.html
Copyright © 2011-2022 走看看