我試圖用非字符串類型調用Spring的ControllerLinkBuilder.methodOn()
,它總是失敗。我不知道要使用哪種Converter
以及在哪裏註冊它。從@PathVariable DomainObject轉換爲字符串? (使用ControllerLinkBuilder.methodOn)
這裏是我的控制器:
@RestController
@RequestMapping("/companies")
class CompanyController {
@RequestMapping(value="/{c}", method=RequestMethod.GET)
void getIt(@PathVariable Company c) {
System.out.println(c);
Link link = linkTo(methodOn(getClass()).getIt(c));
}
}
的System.out.println(c)
效果很好。我的Company
域對象從數據庫中獲取。 (我使用DomainClassConverter
)
但是其他的方式不起作用:ConverterNotFoundException: No converter found capable of converting from type @PathVariable Company to type String
難道我只是需要一個Converter<Company, String>
?我應該在哪裏註冊?我嘗試了WebMvcConfigurationSupport
的addFormatters(FormatterRegistry registry)
方法,但它只顯示相同的錯誤。但畢竟我不知道我到底想要什麼......