首页 > 解决方案 > 用于查询布尔字段的 Strapi API 端点语法?

问题描述

Strapi 文档显然对此保持沉默,除非我遗漏了什么。此处显示的示例仅通过字符串或数值查询字段。

我自己尝试过的没有用的方法:

http://localhost:1337/restaurants?vegan=true
http://localhost:1337/restaurants?vegan=1
http://localhost:1337/restaurants?vegan=0
http://localhost:1337/restaurants?vegan=null

我知道这很棘手,因为谁说这true并不意味着文字 string "true"。那么如何通过 API 端点查询布尔字段的值呢?

标签: strapi

解决方案


要回答您的问题,使用上面提到的query paramastruefalselike 在strapi 中可以正常工作。您可能面临的问题是默认布尔值如何存储在数据库中。如果您将数据库与 Strapi 一起使用,MYSQL我检查了布尔类型字段是否存储为think是strapi中的一个错误,它应该是或不为null)。参考下面的图片TINYINTFALSETRUECONTENT-TYPE01

在此处输入图像描述

在此处输入图像描述

因此,作为一种解决方法,在为您的内容类型添加新记录时,将布尔字段选择为ON并保存,一旦保存记录,您可以编辑记录(如果您希望布尔值为 false)并保存它作为OFF. 这会将数据库中的值更改为0,然后您可以使用true或通过 api 端点搜索记录false。例如http://localhost:1337/restaurants?vegan=truehttp://localhost:1337/restaurants?vegan=false

在此处输入图像描述

在此处输入图像描述


推荐阅读