小编Flo*_*Lei的帖子

Java 8流使用具有布尔字段的元素执行某些操作

我想从列表中创建流,如果某个字段为真,则对某个对象执行某些操作.

让我告诉你到目前为止我做了什么:

    List<UserData> userDataList = new ArrayList<>();

    phoneNumbers.forEach(phoneNumber -> {
        if (phoneNumber.getPrimary()) {
            UserData userData = new UserData();
            userData.setDescription(phoneNumber.getType());
            userData.setValue(phoneNumber.getNumber);
            userDataList.add(userData);
        }
    });
Run Code Online (Sandbox Code Playgroud)

因此,如果phoneNumber.getPrimary() == true不执行以下任务,请忽略它.

java lambda java-8 java-stream

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

Swagger codegen 忽略 POJO 类的空字段

我正在制作一个 REST API,我想在类生成时添加 Jackson 注释以忽略空字段,因此我想仅为某些类添加此注释,而不是为洞项目添加此注释。

我知道这可以通过在 application.properties 中添加以下行来完成:

spring.jackson.default-property-inclusion=non_null
Run Code Online (Sandbox Code Playgroud)

但这是针对整个项目的。

我看到有一些“.mustache”文件

- api.mustache
- apiController.mustache
Run Code Online (Sandbox Code Playgroud)

我想我必须在其中之一添加一些代码,或者我应该在 application.yml 中插入一些代码?

我还将 Spring Boot 与 Swagger-codgen 一起使用。

预先感谢您,祝您有美好的一天!

jackson codegen swagger spring-boot

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

Spring Data MongoDB addToSet() 与复杂对象

我想使用 Spring Data 通过 Java 应用程序从 MongoDB 获取数据。

我按照 MongoDB 查询并成功转换为 Java 代码

db.getCollection('financialMessage').aggregate([{
            $match:{ createdDate: {
                       $gte: ISODate("2017-11-03 00:00:00.000Z"), 
                       $lt: ISODate("2017-11-04 00:00:00") }}}, { 
            $group: { _id: {
                        consolidatedBatchId: "$consolidatedBatchId",
                        version: "$version"},
                      messages: { $addToSet: "$message" }}}, {
            $sort: {
                    "_id.consolidatedBatchId": 1,
                    "_id.version": 1}
            }])
Run Code Online (Sandbox Code Playgroud)

结果如下:

{
    "_id" : {
        "consolidatedBatchId" : "5f4e1d16-2070-48ef-8369-00004ec3e8ee",
        "version" : 4
    },
    "messages" : [ 
        "message1", 
        "message2", 
        "message3"
    ]
}
Run Code Online (Sandbox Code Playgroud)

上述查询的 Java 代码如下所示:

        Criteria filterCriteria = Criteria.where(CREATED_DATE)
            .gte(startDate)
            .lt(endDate);
        Sort sort = new Sort(Sort.Direction.DESC, …
Run Code Online (Sandbox Code Playgroud)

java mongodb aggregation-framework spring-data-mongodb

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

有人可以解释一下Hash#dig与Hash#fetch有什么区别

我正在尝试获取哈希值中的嵌套值。我已经尝试过使用Hash#fetchHash#dig但是我不知道如何将它们组合在一起。

我的哈希如下。

response = {
   "results":[
      {
         "type":"product_group",
         "value":{
            "destination":"Rome"
         }
      },
      {
         "type":"product_group",
         "value":{
            "destination":"Paris"
         }
      },
      {
         "type":"product_group",
         "value":{
            "destination":"Madrid"
         }
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下

response.dig(:results)[0].dig(:value).dig(:destination) #=> nil
response.dig(:results)[0].dig(:value).fetch('destination') #=> Rome
Run Code Online (Sandbox Code Playgroud)

期望的返回值为"Rome"。第二个表达式有效,但我想知道是否可以简化。

我正在使用Ruby v2.5和Rails v5.2.1.1。

ruby ruby-on-rails ruby-hash

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