Ваш контроллер покоя принимает @PathVariable("id") MappingDocument mappingDocument
в качестве переменной на вашем пути, но в mockMvc.perform
вы передаете простую строку / число или что-то, что не связывается с MappingDocument.
Попробуйте заменить
public HttpEntity<?> getVersionTree(@PathVariable("id") MappingDocument mappingDocument...
с
public HttpEntity<?> getVersionTree(@PathVariable("id") Long idMappingDocument, ...
Если вы хотите сохранить свой объект в @PathVariable
, вам нужно изменить
@GetMapping(path = VERSION_TREE_MAPPING)
Чтобы проанализировать объект как PathVariable
, вам необходимо иметь путь, представляющий свойство вашего объекта.
Например, если у вас есть
class Person {
String name;
String address;
//getters and setters
}
и вам нужноопределите контроллер следующим образом:
@GetMapping(path = "/person/{name}/{address}", produces = MediaTypes.HAL_JSON_UTF8_VALUE)
public HttpEntity<?> getVersionTree(Person person) {
Где {name}
и {address}
должны связывать Person
свойства