我想使用注释@Context检索URI
@GetMapping(value = "/profile/{username}", produces = MediaType.APPLICATION_JSON_VALUE)
public Response getProfile(
@PathVariable String username,
@Context UriInfo uriInfo
) {
return Optional
.ofNullable(userService.findOneByUsername(username))
.map(user -> Response
.created(uriInfo.getAbsolutePathBuilder().path(username).build())
.status(Response.Status.OK)
.entity(user).build())
.orElseGet(() -> {
throw new ProfileNotFoundException();
});
}
但是,在显示页面时会引发异常
org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.ws.rs.core.UriInfo]: Specified class is an interface
我找不到有关如何修复的信息。
最佳答案
UriInfo
不是Spring MVC的一部分。您可以在Spring MVC中使用@RequestParam