如何在我的控制器类中创建一个大小为20的数据类型为varchar的字段?另外,有人能告诉我如何创建一个数据类型为none的字段吗?另外,如何提及字段是必填的?我是这方面的初学者。任何帮助将不胜感激。
varchar
none
ylamdve61#
不能在控制器中声明varchar,必须使用String private String str =“";或者你可以用这个
StringBuilder str = new StringBuilder(); str.setLength(20);
1cosmwyk2#
好的,你的问题缺少上下文,所以我将做一些假设。我假设你必须实现一些公开URL端点的控制器。我假设你希望能够在该端点上接收数据,并将其Map到一个对象(dto)。我假设你希望确保对接收到的数据执行验证。我在我的手机上,所以我不会把它完全写出来,但让我给予你一些提示。创建一个带有预期接收的数据结构的dto对象。创建一个带有@Controller注解的控制器。在控制器中,创建一个带有@postMapping注解的方法,并对其进行适当的配置。该方法应接受dto类和绑定结果类作为方法参数。在方法定义中,请在dto类之前使用@Valid注解。通知Spring验证dto,并将验证结果注入Binding Result对象中。注意后者应该在dto之后提及,在本例中它是第二个也是最后一个参数。现在,在dto中,您可以使用javax.validation包中的注解来注解类字段。例如,@NotNull或@Size,它们可以Assert字符串字段的大小并确保字段值的可用性。注意,我相信在Java的后续版本中,validation包被移到了Jakarta包中,因此请考虑这一点。还要确保使用正确的注解,例如,Spring还有一个@Nonnull,它可以做其他事情。现在,在方法体中,您可以Assert是否存在任何绑定结果错误。只需检查BindingResult.hasErrors(),然后适当地处理它们。数据类型为“无”的字段对我来说没有意义,所以需要更多的信息才能对此有所帮助。
2条答案
按热度按时间ylamdve61#
不能在控制器中声明varchar,必须使用String private String str =“";或者你可以用这个
1cosmwyk2#
好的,你的问题缺少上下文,所以我将做一些假设。我假设你必须实现一些公开URL端点的控制器。我假设你希望能够在该端点上接收数据,并将其Map到一个对象(dto)。我假设你希望确保对接收到的数据执行验证。
我在我的手机上,所以我不会把它完全写出来,但让我给予你一些提示。
创建一个带有预期接收的数据结构的dto对象。创建一个带有@Controller注解的控制器。在控制器中,创建一个带有@postMapping注解的方法,并对其进行适当的配置。该方法应接受dto类和绑定结果类作为方法参数。在方法定义中,请在dto类之前使用@Valid注解。通知Spring验证dto,并将验证结果注入Binding Result对象中。注意后者应该在dto之后提及,在本例中它是第二个也是最后一个参数。
现在,在dto中,您可以使用javax.validation包中的注解来注解类字段。例如,@NotNull或@Size,它们可以Assert字符串字段的大小并确保字段值的可用性。注意,我相信在Java的后续版本中,validation包被移到了Jakarta包中,因此请考虑这一点。还要确保使用正确的注解,例如,Spring还有一个@Nonnull,它可以做其他事情。
现在,在方法体中,您可以Assert是否存在任何绑定结果错误。只需检查BindingResult.hasErrors(),然后适当地处理它们。
数据类型为“无”的字段对我来说没有意义,所以需要更多的信息才能对此有所帮助。