По сути, у меня есть следующий вариант использования: у меня есть 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)
{
...
}
относительный идентификатор всегда null
, даже если он не равен null
в FE. Я никогда не имел дело с передачей данных, которые не были объектами с несколькими полями раньше, поэтому я не уверен, что здесь делать. В идеале relativeId
может быть просто параметром пути, но через него трудно передавать нулевые значения. И я хочу, чтобы ресурс был простым, поэтому я стараюсь избегать таких вещей, как преднамеренное прохождение -1
, а затем создание этого null
, когда оно будет принято в BE.