【发布时间】:2020-04-09 10:22:54
【问题描述】:
我正在创建一个带有 GraphQL 接口的 Kotlin Spring-Boot api。通过 GraphQL 访问我的一个实体时,我遇到了一个问题。下面你可以看到我访问用户对象的大部分设置。
问题来自 GraphQL 中生成的字段,它与我在实体中定义的不匹配。这只发生在isAdmin(以及类似风格的)领域。输出更改为admin,我无法以isAdmin 访问它。如果我将字段命名为 inAdmin、letAdmin 甚至 admin,则不会发生这种情况。这是一个非常模糊的问题,我似乎找不到任何文档。
@Entity
@Table(name = "User")
class User(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
var id: Long,
@Column(name = "user_type")
var type: String,
@Column(name = "is_admin")
var isAdmin: Boolean
)
返回所有用户的解析器实现
@GraphQLApi
@Component
class UserResolver {
@Autowired
lateinit var userService: userServiceInterface
@GraphQLQuery()
fun getUsers(): List<UserType> {
return userService.getUsers()
}
}
用于存储自定义查询的服务接口
interface userServiceInterface {
fun getUsers(): List<User>
}
GraphQL gui 输出架构
user{
id
type
admin //<-- invalid, expecting isAdmin
}
编辑:现在的解决方法是使用别名
user{
id
type
isAdmin: admin
}
【问题讨论】:
标签: spring-boot kotlin graphql-spqr