我试图让Java Beanvalidation注释在Spring MVC控制器中与路径variables和查询参数一起工作。 (环境:Spring Boot v1.3.5,Springxxx 4.2.6,Kotlin 1.0.3编程语言) 例如 @RequestMapping(value = “/{someId}” …) fun getSomething(**@SomeValidId** @PathVariable(“someId”) someId: String):… 我已经按照https://raymondhlee.wordpress.com/2015/08/29/validating-spring-mvc-request-mapping-method-parameters/中所述添加了org.springframework.validation.beanvalidation.MethodValidationPostProcessor,并且还添加了org。 springframework.validation.beanvalidation.LocalValidatorFactoryBean作为上面的validatorFactory。 @Configuration …class …. { … @Bean open fun localValidatorFactoryBean() = LocalValidatorFactoryBean() @Bean open fun methodValidationPostProcessor() : MethodValidationPostProcessor { val methodValidationPostProcessor = MethodValidationPostProcessor() methodValidationPostProcessor.setValidator(localValidatorFactoryBean()) return methodValidationPostProcessor } } 但是当我使用org.springframework.validation.annotation.Validated注解Controller类(或者它实现的接口)时,建议看起来像控制器类被代理(这似乎是预期的 – https://github.com/spring -projects / spring-security / issues […]
我的控制器方法返回一个ModelAndView ,但也有一个要求写一个cookie到客户端。 在spring可以做到吗? 谢谢。
我只是用spring webflux 5.0.0和Kotlin做了一些实验,并且从application.yml加载配置有问题 对于基础项目,我从这个例子spring-kotlin-functional开始 但是,只有手动加载Bean和路由,没有任何来自配置文件的加载或例如如何以这种方式实现@ConfigurationProperties类的模拟。 我已经尝试在豆部分采取环境: data class DbConfig( var url: String = “”, var user: String = “”, var password: String = “” ) fun beans(): BeanDefinitionDsl = beans { bean { //try to load config from path=db to data class DbConfig env.getProperty(“db”, DbConfig::class.java) } bean() //controllers bean { StatsController(ref()) } bean { UserController(ref()) […]
我们有一个Spring Web应用程序和Hibernate的问题。 它写在Kotlin。 我们有一个抽象的实体 @Inheritance(strategy = InheritanceType.JOINED) abstract @Entity class ContactLogEntry protected constructor() { @GeneratedValue @Id val id: Long = 0 @ManyToOne @JoinColumn protected lateinit var _contact: AbstractContact open val contact: AbstractContact? get() = _contact @ManyToOne protected var _user: User? = null open val user: User? get() = _user 其中一些: @Entity class MailLogEntry() : ContactLogEntry() […]
我一直在玩服务器端Kotlin,Spring MVC和Jackson。 我使用http://start.spring.io/构建了一个简单的应用程序,但是我可能在JsonView注释中犯了一个错误。 这个: @RestController class MyRestController { @RequestMapping(“/user”) @JsonView(User::class) fun getUser() : User = User(“Fred”,50) } data class User(val name: String, val age: Int) …当被curl调用时 ph@sleek ~ $ curl -X GET http://localhost:8080/user; echo {} ph@sleek ~ $ …当我预计{“name”:”Fred”,”age”:50}时,结果是{} {“name”:”Fred”,”age”:50} 。 有什么我做错了吗?
我和spring一起面临着kotlin的一些问题。 我有一个控制器bean(没有接口btw),它有一个自动连线的服务bean通过主构造函数。 它工作完美,除非我使用控制器缓存注释。 显然弹簧缓存生成一个委托类下的缓存处理。 我的代码如下所示: @RestController @RequestMapping(“/regions/”) open class RegionController @Autowired constructor(val service: RegionService) { @RequestMapping(“{id}”, method = arrayOf(RequestMethod.GET)) @Cacheable(cacheNames = arrayOf(“regions”)) fun get(@PathVariable id: Long): RegionResource { return this.service.get(id) } } 现在的问题是执行该方法时出现空指针exception,实际上this.service为null ,在技术上是不可能的,因为它是kotlin中的非nullvariables。 我假设Spring生成的类代理使用空值而不是autowired bean初始化类。 这一定是使用kotlin和spring的常见错误。 你是怎么回避这个问题的?