賞金將在 6 天后到期。此問題的答案有資格獲得 100聲望賞金。 Peter Penzov正在從有信譽的來源尋找答案。
我在 hatoas:1.0 中實作了這個舊代碼
public class StaticPathLinkBuilder extends LinkBuilderSupport<StaticPathLinkBuilder> {
@Override
protected StaticPathLinkBuilder createNewInstance(UriComponentsBuilder builder) {
return new StaticPathLinkBuilder(builder);
}
我將代碼更新為 hatoas 2.6.7,但代碼是這樣更改的:
public class StaticPathLinkBuilder extends LinkBuilderSupport<StaticPathLinkBuilder> {
@Override
protected StaticPathLinkBuilder createNewInstance(UriComponents components, List<Affordance> affordances) {
return null;
}
實施此更改的正確方法是什么?我試過這個:
@Override
protected StaticPathLinkBuilder createNewInstance(UriComponents components, List<Affordance> affordances) {
return new StaticPathLinkBuilder(UriComponentsBuilder.newInstance().uriComponents(components));
}
但目前尚不清楚我必須如何實作可以發送的代碼affordances。
你能建議什么是實作這一點的正確方法嗎?
uj5u.com熱心網友回復:
正如您在其源代碼中看到的那樣,LinkBuilderSupport已經提供了一個帶有兩個必需引數的構造UriComponents函式,并且List<Affordance>.
在自己的庫代碼庫中,不同LinkBuilder的 s 實作作為BasicLinkBuilder或 TemplateVariableAwareLinkBuilderSupport已經在其實作中利用了這一事實。
在您的用例中,您可以嘗試類似的方法:
public class StaticPathLinkBuilder extends LinkBuilderSupport<StaticPathLinkBuilder> {
private StaticPathLinkBuilder(UriComponents components, List<Affordance> affordances) {
super(components, affordances);
}
@Override
protected StaticPathLinkBuilder createNewInstance(UriComponents components, List<Affordance> affordances) {
return new StaticPathLinkBuilder(components, affordances);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/480016.html
上一篇:過濾/搜索使用規范給出不同的結果
