夏娃与邮递员“必须是列表类型”错误

Posted

技术标签:

【中文标题】夏娃与邮递员“必须是列表类型”错误【英文标题】:Eve with Postman "must be of list type" error 【发布时间】:2018-01-27 11:48:39 【问题描述】:

我有一个这样设置的前夕模式:

schema = 
  "month": 
    "type": "datetime",
    "required": True,
  ,

  "test": 
    "type": "list"
  ,

我正在使用邮递员来发出一个帖子请求:

我有点不知所措,为什么我会收到这个错误,我是否遗漏了一些明显的东西?这不是为邮递员/前夕格式化列表的正确方法吗?

其他字段工作正常,日期时间、字符串、整数等。但只要我尝试发布列表,无论我做什么都会收到此错误。

【问题讨论】:

【参考方案1】:

如果您使用 form-data 正文检查 Postman 发送的请求,您可以看到正文类似于:

------WebKitFormBoundarynhX0dI6JZNPzq8AK
Content-Disposition: form-data; name="month"

2017-08-01T00:00:00
------WebKitFormBoundarynhX0dI6JZNPzq8AK
Content-Disposition: form-data; name="test"

[1,2,3,4,5,6,7]
------WebKitFormBoundarynhX0dI6JZNPzq8AK--

使用 Postman 的原始正文,并将 Request-header Content-type 设置为 application/json,它是这样的,并且适用于 eve:


  "month": "2017-08-01T00:00:00",
  "test": [1,2,3,4,5,6,7]

我无法很好地解释为什么,但这就是我如何使它与 pyeve 一起工作。

【讨论】:

是的。那确实奏效了。谢谢!我知道这一定是一个简单的答案。

以上是关于夏娃与邮递员“必须是列表类型”错误的主要内容,如果未能解决你的问题,请参考以下文章

《未来的夏娃》读后感

类型错误:todo 不是函数

在邮递员处收到奇怪的无效令牌错误消息

通过邮递员点击我的JAVA api时不支持的媒体类型

Laravel 发布请求无法与邮递员一起使用

“使用邮递员放入适应性时不支持的媒体类型