相关疑难解决方法(0)

龙目岛可选

我有一个类Address看起来像这样:

@Value
class Address {

   @NotNull String userId;
   @NotNull String line1;
   String line2;

   private Address(Builder b) {
      // copy everything from builder
   }

   // override getter for line2 so that it returns Optional<String>
   public Optional<String> getLine2() {
      return Optional.ofNullable(this.line2);
   }

   // and a Builder
   public static class Builder {
     // builder methods
   }
}
Run Code Online (Sandbox Code Playgroud)

在这里我被迫写Builder了一个Getter因为,如果我想在使用Lombok时返回一个Optional,我必须声明line2Optional<String>.这将生成一个接受的构建器方法Optional<String>!

还有其他方法可以使用lombok Optional吗?

java optional lombok

36
推荐指数
1
解决办法
1万
查看次数

Java中的JSON补丁请求验证

在我的春季启动服务中,我使用https://github.com/java-json-tools/json-patch来处理PATCH请求.

一切似乎是确定除的方式来避免修改状物品ID的,CREATION_TIME等不可改变的领域我都发现了类似的问题在Github https://github.com/java-json-tools/json-patch/issues/21为我找不到合适的例子.

这个博客似乎提供了一些有趣的解决方案,用于在node.js中使用解决方案来验证JSON补丁请求.很高兴知道JAVA中是否有类似的东西.

rest json json-patch spring-restcontroller spring-rest

7
推荐指数
1
解决办法
549
查看次数

@RequestBody 如何区分未发送的值和空值?

@PatchMapping("/update")
HttpEntity<String> updateOnlyIfFieldIsPresent(@RequestBody Person person) {
    if(person.name!=null) //here
}
Run Code Online (Sandbox Code Playgroud)

如何区分未发送的值和空值?如何检测客户端是否发送空字段或跳过字段?

java spring json spring-mvc jackson

3
推荐指数
1
解决办法
1358
查看次数

REST中的PATCH,并且为null

我们有带有属性的文章资源:

  • 标题
  • 图片
  • 描述
  • 状态:已发布| 草案

如果我们只想删除图像,则发出请求

{title: null, image: null, description: null, status: null}
Run Code Online (Sandbox Code Playgroud)

如果我们只想更新状态,我们会发出请求

{title: null, image: null, description: null, status: draft}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,图像也会被删除

如何在REST中仅更新一个属性?

rest restful-architecture

1
推荐指数
1
解决办法
2140
查看次数

在后端处理 PUT http 请求中的可选字段的最佳方法是什么

我找不到 PUT 调用的开发人员指南。如果在 PUT 请求中将可选值作为 null 传递,我们应该怎么做。我们是在 db 中将其设置为 null 还是保留 db 中的先前值(如果有)?这种方法的问题在于,一旦使用值创建,我们将无法更新值以取消可选字段。

例如。对于同一个实体假设Student表,我有一个名称为student_optional_subject的可为空列。现在在 POST student_optional_subject 中设置为值“微积分”。再次发出 PUT 请求,请求正文中的 student_optional_subject 为空(即请求中缺少该字段,因为它是可选字段)..我应该在 student_optional_subject 中保留“微积分”还是将其设置为空..

java rest spring http

1
推荐指数
1
解决办法
372
查看次数