本质上,我有以下用例:我有一个Entity
,并且需要更新其字段之一。本场是Long
,它CAN
是null
(基本上,如果我删除了我需要的实体null
进行的那场)。我们将此字段称为relativeId
。
我的React资源如下所示:
updateEntityField(entityId, relativeId) {
return req({
method: 'PUT',
url: `stuff/entities/${entityId}/relative`,
data: relativeId,
});
},
我的Java资源如下所示:
@ApiOperation("Updates an entity's relative id")
@PUT
@Path("/{id}/relative")
@Consumes(MediaType.APPLICATION_JSON)
public ApiResult<Arrest> updateRelativeId(
@ApiParam(value = "Entity id", required = true) @PathParam("id") long entityId,
@ApiParam(value = "relative id", required = true) @Nullable Long relativeId)
{
...
}
即使不在FE
上,relativeId
始终 为。我以前从未处理过传递不是具有多个字段的对象的数据,因此我不确定该怎么做。理想情况下,the
只能是路径参数,但是很难在其中传递null
值。而且我想使资源保持简单,因此我在尝试避免故意传递a ,然后在BE中接受它时使之成为现实。null
null
relativeId
-1
null
问题来源:Stack Overflow
您可以使用@QueryParam批注从请求查询参数中读取此可选值(也建议不要更新Swagger ApiParam):
@ApiParam(value = "relative id", required = false) @QueryParam @Nullable Long relativeId)
然后更新React代码以将其作为查询参数传递:
updateEntityField(entityId, relativeId) {
return req({
method: 'PUT',
url: `stuff/entities/${entityId}/relative?relativeId=${relativeId}`
});
},
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。