我想使用注释@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

09-29 22:36