如何在 Spring Boot 的另一个 RestController 中使用 @Autowired/@Inject 访问 RestController 的路径?

Posted

技术标签:

【中文标题】如何在 Spring Boot 的另一个 RestController 中使用 @Autowired/@Inject 访问 RestController 的路径?【英文标题】:How to access path of a RestController, using @Autowired/@Inject in another RestController in Spring Boot? 【发布时间】:2021-11-06 08:56:09 【问题描述】:

这是一个在 J2EE 应用程序中完成的示例,我正在寻找 Spring Boot 中的一个精确解决方案。

路径:localhost:8080/first/second/get-this 输出:Here You Go!

//First Resource
@Path("first")
@RequestScoped
public class FirstResource 

@Inject
SecondResource secondResource;

@Path("second")
public SecondResource getSecondResource() 
    return secondResource;
    


//Second Resource
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)   
public class SecondResource 

@Path("get-this")
@GET
@Produces(MediaType.APPLICATION_JSON)
public void getThisMessage()
System.out.println("Here You Go!");    
 

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

Sub-resources 是 JAX-RS 的一项功能,它是来自 JavaEE/JakartaEE 的 API。 Spring MVC 或 Spring WebFlux API 中没有子资源或任何等效功能。 您可以做的是使用 Jersey inside Spring 创建 Rest 控制器,Jersey 是 JAX-RS 的参考实现,因此它支持子资源。

【讨论】:

嗯。这是我第一次遇到 Spring 中没有但我真的很想拥有的 JAX-RS 功能。 那是真正的spring不直接支持。也许我们可以在Autowiring 的帮助下实现这一点。 ***.com/a/57311688/3308908

以上是关于如何在 Spring Boot 的另一个 RestController 中使用 @Autowired/@Inject 访问 RestController 的路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring-Boot-REST 调用中获取用户信息?

在 Spring Boot 应用程序中使用 API 网关时,HATEOAS 路径无效

如何在 Spring Boot 的另一个 RestController 中使用 @Autowired/@Inject 访问 RestController 的路径?

如何通过 Spring Boot 的 rest 调用在数据准备好时传输?

如何在 Spring Boot REST API 上设置超时?

如何在 Spring Boot 应用程序中实现长轮询 REST 端点?