resteasy-links的研究(三)

最近针对resteasy-links有一个pull request:

这个PR把之前的RESTUtils拆分成了provider和injector两部分。PR原作者自己的阐述如下:

接下来的文章会分析这个PR带来的改变。首先看一下将RESTUtils拆分后的providers和injector。首先是providers:

根据作者的描述,ObjectLinksProvider是之前RESTUtils拆分出来的功能,而ClassLinksProvider是新加的功能模块,用来进行class级别的操作,这个后续文章用代码来展开讲解。

接下来是拆分出来的LinksInjector

注意这个injector和resteasy内部的injector接口没有关系,它是一个独立的class。然后只在原来RESTEasyUtils发挥作用的地方使用:

可以看到它和拆分后的ObjectLinksProvider配合使用,用来替代原来RESTEasyUtils的功能。以下是LinksInjectorinject()方法的逻辑:

以上是对这次重构的分析。

后续文章,会分析一下新的ClassLinksProvider的用法。

Powered by Jekyll and Theme by solid