我有幾個端點類,我已經暴露給我的Android客戶端。這些端點中的方法採用實體類型參數。如您所知,端點已通過@Api註釋公開,我沒有使用@Api註釋實體類型參數。我面臨的問題是這些端點共享一組實體類,但是當我生成端點庫時,會爲相同類的每個端點生成這些實體類型。我想爲所有端點擁有這些類的通用集合。讓我給你舉個例子來闡述這個問題:如何在Google雲端點之間共享課程?
比方說,我有註釋的端點:
@Api(
name = "learnerProfileVer1Api",
version = "v1",
resource = "learnerProfileVer1",
namespace = @ApiNamespace(
ownerDomain = "create.account.backend.learncity.com",
ownerName = "create.account.backend.learncity.com",
packagePath = ""
)
)
public class Endpoint1{
@ApiMethod(
name = "insert",
path = "learnerProfileVer1",
httpMethod = ApiMethod.HttpMethod.POST)
public LearnerProfileVer1 insert(LearnerProfileVer1 learnerProfileVer1) {....}
}
而另一個端點,
@Api(
name = "searchApi",
version = "v1",
title = "Search API",
namespace = @ApiNamespace(
ownerDomain = "learncity.com",
ownerName = "Learncity",
packagePath = ""
)
)
public class SearchTutorsEndpoint {
@ApiMethod(name = "searchTutors",
httpMethod = ApiMethod.HttpMethod.POST)
public CollectionResponse<TutorProfileVer1> searchTutors(SearchTutorsQuery searchTutorsQuery, @Nullable @Named("cursor") String cursor, @Nullable @Named("limit") Integer limit) {...}
}
你可以在上面看到2個端點,我有LearnerProfileVer1
和實體類型參數。這兩個類使用了其他一些很常見的類。
現在,當我生成客戶庫,我得到1 learnerProfileVer1Api
具有model
包在它在那裏它具有的那些種類和我得到客戶-lib的分別爲SearchApi
具有單獨model
包具有相同的類。當我將我的客戶端代碼鏈接到這些客戶端庫時,這個問題會放大,我發現同一類的3個不同版本。
有沒有解決方案,使這些類有一套客戶端庫生成?