UUID是不能简单地实例化的类。假设它是一个请求参数,则应首先使用注释该参数
@RequestParam。
@RequestMapping("/MyController.myAction.mvc")@ResponseBodypublic String myAction(@RequestParam UUID id, String myParam)...现在,这需要一个名称
id可以在请求中使用的请求参数。参数将转换为
UUID。但是,此刻将失败,因为当前没有任何东西可以将a转换
String为a
UUID。
为此,创建一个
Converter可以做到的。
public class StringToUUIDConverter implements Converter<String, UUID> { public UUID convert(String source) { return UUID.fromString(source); }}将此类连接到
ConversionService,您应该对请求参数进行UUID转换。(如果它是一个请求标头,则也可以使用,基本上适用于所有使用的内容
ConversionService)。您可能还需要
Converter换一种方式(UUID->
String)。
在参考指南中很好地说明了如何将其连接到Spring
MVC (假设您使用xml config)。简而言之:
<mvc:annotation-driven conversion-service="conversionService"/><bean id="conversionService" > <property name="converters"> <set> <bean /> </set> </property></bean>
注意: 从Spring 3.2
StringToUUIDConverter开始,已经添加了Spring
a ,它会自动注册。



