我的Spring Boot应用程序,我有一些控制器接受日期作为查询参数:
@RestController
public class MyController {
@GetMapping
public ResponseEntity<?> getDataByDate(
@RequestParam(value = "date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
final LocalDate date) {
return ResponseEntity.ok();
}
}
Run Code Online (Sandbox Code Playgroud)
这很好用,我甚至可以将参数标记为可选@RequestParam(value = "date", required = false),然后使用Optional<LocalDate>.Spring将处理所有这些并在缺少参数时传递一个空的Optional.
由于我有几个控制器使用日期作为查询参数,我想为所有LocalDate查询参数配置此行为.我试过了这个spring.mvc.date-pattern房产,但它似乎只是起作用了java.util.Date.
所以在搜索网页后,我想出的最好的是ControllerAdvice我从这个答案中采用的.这个解决方案的问题是,Optional<LocalDate>再也无法处理了.感觉这是在Spring Boot中配置行为的错误方法.
所以我的问题是:如何LocalDate在Spring Boot中以惯用的方式全局配置用作查询参数的模式?
如Spring Boot文档中所述,配置可以通过环境变量传递.但是,有些配置属性spring.datasource.driver-class-name包含连字符.在bash中设置时会出现错误:
$ export SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
bash: export: `SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver': not a valid identifier
Run Code Online (Sandbox Code Playgroud)
这是因为bash中的变量不能包含连字符.那么甚至可以通过环境变量设置包含连字符的Spring配置属性吗?
关于部署一个WAR文件Wildfly,应该在哪里的文件复制到?
我没有看到文件在哪里:
thufir@dur:~/java/wildfly$
thufir@dur:~/java/wildfly$ tree wildfly-17.0.0.Beta1 | grep wildflyMaps.war
? ??? wildflyMaps.war
thufir@dur:~/java/wildfly$
Run Code Online (Sandbox Code Playgroud)
- 回复:部署 ehugonnet Apprentice ehugonnet 后看不到 .war 21-Aug-2017 2:47 AM(回应克劳迪奥·米兰达)
在运行时,启用的战争文件被 tmp 目录中的 vfs 分解。这些文件将在停止/重新启动/禁用时被删除。
参考内容位于内容数据目录中,用于重新创建 tmp 文件。