HTTP标头中的UUID验证不起作用?

时间:2018-09-18 18:56:40

标签: java rest validation http uuid

我已经收到了这个非常奇怪的错误,我不确定该怎么做。

我目前有一个使用RESTful端点的服务,并且具有应该为UUID的标头。它与常规UUID以及明显的非UUID值(例如2bcd-d2efc)配合使用都很好,但是在遇到诸如4c95b7e9-5051-4e5b-be30-eed67988之类的UUID时,在接收到UUID时,它最后遗漏了4个十六进制值我的REST控制器,它的取值变成了4c95b7e9-5051-4e5b-be30-0000eed67988之类的东西。

这使最初无效的UUID绕过了我们已进行的UUID类型转换验证。

关于为什么发生这种零填充的任何想法(我认为这与序列化有关)以及如何解决?如果有帮助,可以在Java 8中实现该控制器。

1 个答案:

答案 0 :(得分:0)

如果查看UUID.fromString,您会发现它没有规定最小长度。 UUID.fromString("0-0-0-0-0").toString()将返回“ 00000000-0000-0000-0000-000000000000”。因此,就UUID而言,您传入的内容等同于到达时的外观。