resteasy-links的研究(五)

这篇文章分析一下这个PR里面新加的ClassLinksProvider的使用方法:

这里面看一下ClassLinksProvider的结构:

可以看到它实现了getLinks()processLinkResource()两个方法。首先看一下getLinks()的逻辑:

可以看到这个方法会通过传入的class,找到class里面所包含的RESTServiceDiscovery的信息。

在这个过程当中,方法里面首先创建一个RESTServiceDiscovery的实例,然后针对每一个LinkResource,会调用processLinkResource()方法。

接下来看一下processLinkResource()方法:

可以看到这个方法当中会通过addLink()方法填充AtomLink数据至RESTServiceDiscovery的实例。

注意上面的逻辑可以清晰看到,只扫描带有@GET@POST的方法。这个和咱们之前文章给出的例子分析的一样:

在这里面的代码中我们分析过这一点:

以上就是分析过程。本文先写到这里,下一篇文章看一下ClassLinksProvider的具体应用场景。

My Github Page: https://github.com/liweinan

Powered by Jekyll and Theme by solid

If you have any question want to ask or find bugs regarding with my blog posts, please report it here:
https://github.com/liweinan/liweinan.github.io/issues