【发布时间】:2016-03-13 07:10:34
【问题描述】:
我正在尝试为我的用户存储库创建自定义搜索。我有一个自定义的restcontroller
@BasePathAwareController
@RequestMapping("/users")
@MultipartConfig(fileSizeThreshold = 20971520)
public class UserController implements ResourceProcessor<Resource<User>>,{
@Autowired
UserRepository userReposiotry;
@Autowired
private EntityLinks entityLinks;
@RequestMapping(value = "/search/getAvatar", method = RequestMethod.GET, produces = "image/jpg")
public ResponseEntity<InputStreamResource> downloadImage(@RequestParam("username") String username)
throws IOException {
ClassPathResource file = new ClassPathResource("uploads/" + username+ "/avatar.jpg");
return ResponseEntity
.ok()
.contentLength(file.contentLength())
.contentType(
MediaType.parseMediaType("application/octet-stream"))
.body(new InputStreamResource(file.getInputStream()));
}
@Override
public Resource<User> process(Resource<User> resource) {
LinkBuilder lb = entityLinks.linkFor(User.class);
resource.add(new Link(lb.toString()));
**// How can I add the search/getAvatar to the user search resource?**
return resource;
}
}
第一个问题是我在尝试调用 /users/search/getAvatar?username=Tailor 时收到 404
第二个是如何将其添加到用户搜索链接中?
谢谢
【问题讨论】:
-
在您的第一部分尝试调用
call /users/search/getAvatar/?username=Tailor而不是call /users/search/getAvatar?username=Tailor。几天前困扰我 -
问题似乎是produces =“image/jpeg”如果我删除它,如果我添加它会返回404奇怪。有什么想法吗?
标签: spring spring-data spring-data-rest