Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot @“对长有效”数据类型不适用于强制检查_Spring Boot - Fatal编程技术网

Spring boot @“对长有效”数据类型不适用于强制检查

Spring boot @“对长有效”数据类型不适用于强制检查,spring-boot,Spring Boot,我有下面的输入类,当我触发输入中没有'interactionId'参数的api时, 我期望验证错误消息“interactionId不能为空”,但验证通过,我猜这可能是由于interactionId的默认值为0 请找个人。当输入中未给出“long”参数时,是否帮助对其强制执行此验证 对于customerId参数@NotEmpty,其工作方式与预期一致。将@NotEmpty用于long参数“interactionId”会引发另一个错误@NotEmpty不能长时间使用 public class Inp

我有下面的输入类,当我触发输入中没有'interactionId'参数的api时, 我期望验证错误消息“interactionId不能为空”,但验证通过,我猜这可能是由于interactionId的默认值为0

请找个人。当输入中未给出“long”参数时,是否帮助对其强制执行此验证

对于customerId参数@NotEmpty,其工作方式与预期一致。将@NotEmpty用于long参数“interactionId”会引发另一个错误@NotEmpty不能长时间使用

public class Input {

@NotEmpty(message = "customerId cannot be empty")
private String customerId;

@Valid
@NotNull(message = "interactionId cannot be empty")
private long interactionId;
 // setters and getters

}
我的控制器类: @RestController 公共类控制器{

@PostMapping(value="/detailed-customer-transaction", produces = 
MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<Object> detailTransactions(@Valid @RequestBody Input 
params)
{
    return new ResponseEntity<>(Dao.detailTransactions(params), HttpStatus.OK);
}
@PostMapping(value=“/detailed customer transaction”,生产=
MediaType.APPLICATION_JSON_值)
@应答器
public ResponseEntity detailTransactions(@Valid@RequestBody Input
参数)
{
返回新的响应属性(Dao.detailTransactions(params),HttpStatus.OK);
}
以上问题由Long改为Long后解决

查询#2
我需要另一个帮助。我有一个字符串输入参数,它采用以下格式的日期-时间格式。如果它是一个字符串参数,我如何验证模式=“yyy-MM-dd'T'HH:MM:ss.SSS'Z'”

long应该是long,因为long是java中的主要类型,而不是对象,所以long是一个可以检查是否为null的对象

我的错!…我太傻了。我看得太多了。这很有效。谢谢@clevertension.Hi@clevertension你能帮我查询#2吗?你可以参考这个add@DateTimeFormat(模式)=“yyyy-MM-dd'T'HH:MM:ss.SSS'Z'”)我尝试了它,但在输入其他格式时没有抛出任何验证错误。鉴于我的api输入是JSON,并且日期输入将作为字符串提供,我希望保留输入数据类型,以字符串形式提供并强制执行此验证。