小编Lar*_*ist的帖子

使用 Modelmapper,如何映射到没有默认/无参数构造函数的类?

我想映射到一个只有一个带有 3 个参数的构造函数的源目标。我收到以下错误:

无法实例化目标 com.novasol.bookingflow.api.entities.order.Rate 的实例。确保 com.novasol.bookingflow.api.entities.order.Rate 有一个非私有的无参数构造函数。

当我在源目标中插入一个 no-args 构造函数时,它会起作用,但这会导致类的滥用,所以我宁愿不这样做。

我试过使用转换器,但这似乎不起作用:

Converter<RateDTO, Rate> rateConverter = new AbstractConverter<RateDTO, Rate>() {
    protected Rate convert(RateDTO source) {
        CurrencyAndAmount price = new CurrencyAndAmount(source.getPrice().getCurrencyCode(), source.getPrice().getAmount());
        Rate rate = new Rate(price, source.getPaymentDate(), source.getPaymentId());
        return rate;
    }
};
Run Code Online (Sandbox Code Playgroud)

是否可以告诉模型映射器如何映射到没有无参数构造函数的目的地?

modelmapper

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

Spring Boot(Jackson):如何避免将类名序序化为JSON

我正在使用从REST应用程序公开的一些XML,并希望在我自己的REST服务中将其公开为JSON.

现在我有以下POJO:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "salesMarket"
})
@XmlRootElement(name = "salesMarkets")
public class SalesMarkets {

protected List<SalesMarket> salesMarket;

public List<SalesMarket> getSalesMarket() {
    if (salesMarket == null) {
        salesMarket = new ArrayList<SalesMarket>();
    }
    return this.salesMarket;
   }

}
Run Code Online (Sandbox Code Playgroud)

哪个产生以下JSON:

  "salesMarkets": {
"salesMarket": [
  {
    "brands": {
      "brand": [
        "DAN"
      ]
    },
    "code": "999"
  },
  {
    "brands": {
      "brand": [
        "DAN"
      ]
    },
    "code": "208"
  }
]
}
Run Code Online (Sandbox Code Playgroud)

我的问题是(使用杰克逊注释),有没有办法避免类名被序列化为JSON ??所以我反而会:

    "salesMarket": [{
    "brands": {
        "brand": [
            "DAN"
        ]
    },
    "code": …
Run Code Online (Sandbox Code Playgroud)

rest json jackson spring-boot

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

从另一个Spring Boot webapp对Spring Boot webapp进行健康检查

我目前有一个Spring Boot应用程序,我可以通过执行器访问健康检查.

这个应用程序依赖于另一个Spring Boot App可用/ up,所以我的问题是:

通过覆盖第一个应用程序中的运行状况检查,是否有一种优雅的方法可以对第二个应用程序进行运行状况检查?

从本质上讲,我只想使用一个调用并获取两个应用程序的健康检查信息.

谢谢

rest spring-boot spring-boot-actuator

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

执行器/ logfile端点不再与外部logback配置一起使用

我需要滚动日志,所以我创建了一个“ logback-spring.xml”文件并将其放置在src / main / resources中。完美地工作。

问题是执行器端点“ / logfile”不再起作用,因为我已从“ applications.yml”文件中删除了日志记录配置。根据文档,为了使“ / logfile”端点正常工作,需要设置“ logging.path”或“ logging.file”。但是,这似乎与我的新'xml配置冲突。

这是我的logback-spring.xml配置,可以很好地进行测量:

<configuration debug="true" scan="true">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<property name="LOG_PATH" value="logs"/>
<property name="LOG_ARCHIVE" value="${LOG_PATH}/archive"/>

<appender name="RollingFile-Appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOG_ARCHIVE}/bookingflow-%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
        <pattern>%d %-5level [%thread] %logger : %msg%n</pattern>
    </encoder>
</appender>
<appender name="Async-Appender" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="RollingFile-Appender"/>
</appender>

<logger name="com.novasol.bookingflow.api" level="debug">
    <appender-ref ref="Async-Appender"/>
</logger>
<springProfile name="production">
    <logger name="com.novasol.bookingflow.api" level="error">
        <appender-ref ref="Async-Appender"/>
    </logger>
</springProfile>
</configuration>    
Run Code Online (Sandbox Code Playgroud)

任何指针表示赞赏。

亲切的问候拉斯

logback spring-boot spring-boot-actuator

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