我是一个有用的助手,可以翻译文本。
我遇到了以下错误:
我做错了什么?
我正在开发一个小应用程序进行训练,但在使用Spring Hateoas和PathVariable时遇到了问题。
实际上,当我使用以下内容时:
@RequestMapping(value = "/directories/{idDirectory}", method = RequestMethod.GET)
public DirectoryDTO findById(@PathVariable String idDirectory) {
DirectoryEntity directoryEntity = directoryService.findById(idDirectory);
DirectoryDTO directoryDto = new DirectoryDTO(directoryEntity);
directoryDto.add(linkTo(methodOn(DirectoryController.class).findById(idDirectory)).withSelfRel());
return directoryDto;
}
我遇到了以下错误:
这是我的DirectoryEntity:[com.sun.istack.internal.SAXException2]: 由于缺少注释,无法将类型DirectoryDTO转换为元素
@Document(collection = "directory")
public class DirectoryEntity {
@Id
private String id;
private String name;
private String path;
private List<DirectoryEntity> childrenDirectories;
private DirectoryEntity parentDirectory;
private List<FileEntity> fileEntities;
/* Get/set omitted */
}
而数据传输对象(DTO):
public class DirectoryDTO extends Resource<DirectoryEntity> {
public DirectoryDTO(DirectoryEntity content, Link... links) {
super(content, links);
}
public DirectoryDTO(DirectoryEntity content, Iterable<Link> links) {
super(content, links);
}
}
我做错了什么?
RestController
吗?否则,您可能需要在方法声明中添加@ResponseBody
。 - woemler