我想将GraphQl响应返回给UI,在其中我必须根据响应启用或禁用特定功能。
在两种情况下我都得到响应,即,如果找到值,则呈现正确的字符串并将其发送回响应,但是,如果找不到值,则从kotlin数据模型发送空值作为响应
data class FinalObject(
val isEnableDisable : String? = null
)
GraphQl的Kotlin类
@GraphQLDescription("Random string")
data class ActualClassForGraphQl(
val finalObject: FinalObject
)
编写实际逻辑的Kotlin类
@Component
class ActualClassForLogic{
fun isEnableDisable():FinalObject{
if(true){
return FinalObject("some string")
}
return FinalObject()
}
}
预期结果:
不需要发送任何内容,即,不需要填充键FinalObject本身作为响应,即,需要将空的响应主体发送给UI。
实际结果: 如果它进入“ if”块,即成功情况
FinalObject{
isEnableDisable:"some string"
}
如果未输入“ if”块,即出现故障情况
FinalObject{
isEnableDisable:null
}
答案 0 :(得分:0)
除非我误解了您的问题,否则我认为这不是GraphQL规范的定义方式,它更多地是由客户端驱动而不是服务器端响应,而不是显示什么,如果客户端在查询中发送了该字段(finalObject?),应该返回什么值,而不管返回哪个值(null表示非null),这就是合同graphql规范给用户的内容。