小编And*_*May的帖子

Spring MVC是否支持JSR-380(Bean验证2)?

JSR-380通过注释参数化类型添加了对验证容器元素(内部集合,可选)的支持:

List<@Email String> emails;
Run Code Online (Sandbox Code Playgroud)

有没有办法在控制器方法的Spring MVC的当前版本(例如Spring MVC 4.3.8)中使用它?我已升级到Hibernate Validator 6.0.2和Validation API 2.0.0,但我似乎无法使用以下示例,我不确定这是否是我滥用注释,缺少配置或缺乏支持在框架中:

@RequestMapping(value = "/emails", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE)
public void emails(@Valid @RequestBody List<@Email String> emails) {

}

@RequestMapping(value = "/users", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE)
public void users(@Valid @RequestBody List<@Valid User> users) {

}   
Run Code Online (Sandbox Code Playgroud)

(用户对某些属性有@NotNull注释)

在@RequestBody注释之前,我曾尝试使用和不使用@Valid.

spring-mvc bean-validation

6
推荐指数
0
解决办法
1744
查看次数

Android Studio JUnit Tests可以加载属性吗?

我已经为Android(Cordova)项目编写了许多JUnit测试,到目前为止,我已经能够从gradle命令行和Android Studio(1.2.2)中运行它们.

当我添加一些加载属性文件(使用this.getClass().getClassLoader().getResourceAsStream())的代码时,代码在android设备上工作,测试仍然从gradle命令行运行,当我在Android Studio中运行测试时,getResourceAsStream()返回null.

有没有人成功地以这种方式加载属性文件,然后在Android Studio中测试它们?

cordova项目的gradle配置包含此设置以设置测试源集:

subprojects {
    if (project.hasProperty("android")) {
        android.sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
        test {
            java.srcDir file('test')
            resources.srcDir file('test')
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我意识到在单元测试中加载属性文件不是最佳实践,但由于该项目的性质,我想使用属性文件而不是模拟值.

junit android-studio

5
推荐指数
0
解决办法
170
查看次数