Konverter von @PathVariable DomainObject zu String? (mit ControllerLinkBuilder.methodOn)

Ich versuche Spring's anzurufenControllerLinkBuilder.methodOn() mit einem Nicht-String-Typ, der immer fehlschlägt. Und ich weiß nicht welcheConverter zu verwenden und wo man es registriert.

Hier ist mein Controller:

@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));
    }

}

DasSystem.out.println(c) funktioniert gut. MeineCompany Domain Objekt wird aus der DB geholt. (Ich benutzeDomainClassConverter)

Aber der andere Weg funktioniert nicht:ConverterNotFoundException: No converter found capable of converting from type @PathVariable Company to type String

Brauche ich nur einenConverter<Company, String>? Und wo soll ich es registrieren? Ich habe etwas innerhalb der versuchtaddFormatters(FormatterRegistry registry) Methode vonWebMvcConfigurationSupport, aber es zeigte nur den gleichen Fehler. Aber immerhin bin ich mir nicht sicher, was genau ich versucht habe ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage