rest - 如何在 Restful 环境中设计 boolean 查询

标签 rest go boolean

我有一个这样的用户模型:

type User struct {
    Name    string
    Enabled bool  // this is an bool field
    Online  bool  // this is an bool field

    // other field ...
}

创建用户时:
POST /api/v1/users 
{
    "name": "hello",
    "enabled": true  // option, default is true
}

创建请求模型为:

type CreateUserReq struct {
    Name    string
    Enabled bool  // but golang default value is false
}

何时列出用户:
GET /api/v1/users               // list all users, but golang default value is false
GET /api/v1/users?enabled=true  // list enabled users
GET /api/v1/users?enabled=false // list disabled users

列表请求模型为:

type ListUserReq struct {
    Status bool // but golang default value is false
}

解决此问题的常用方法是什么?

最佳答案

没有初始值的变量将被赋予零值。
对于 boolean 类型,零值为falseRef

您可以使用零值为boolnil指针。然后您可以检查是否设置了Enabled。并在处理程序中检查Enabled是否为nil,然后将其设置为true(默认情况下)。

type CreateUserReq struct {
    Name    string
    Enabled *bool  
}

关于rest - 如何在 Restful 环境中设计 boolean 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62035967/

相关文章:

java - 如何将对象设置为上下文,以便我可以使用 @Context 在应用程序中的任何位置获取它

java - Jersey RESTful 服务 : Resources & Responses

java - Rest Api 中的两个类可以有相同的路径吗?

go - 生成所有可能的 n 字符密码

c# - 获取 boolean 数组中 false 元素的所有索引的最快方法是什么?

C# 使用 MySql 数据库中的 true/false 来继续或显示错误

rest - Grails REST和POST问题

golang sql/数据库事务中准备好的语句

go - Go中的动态函数调用

java - 用于编辑 ArrayList 中对象的 boolean 方法