public ResponseEntity<Profile> getProfile(@PathVariable("id") String id){
if(id != null){
//getting CUSTOMER from DB
returning EntityProfile
if(CUSTOMER == null)
//getting data from webservice
returning Profile
0
A
回答
4
您可以使用泛型實現此功能。您尚未解釋Profile
和EntityProfile
之間的關係。因此,假設你有一些所謂BaseProfile
這些2個個人對象擴展它們,你可以寫的返回類型爲:
public ResponseEntity <? extends BaseProfile>
這樣,您就可以返回類型BaseProfile的任何對象。
如果Profile
是EntityProfile
的父級,則您的代碼(public ResponseEntity <Profile>
)應該正常工作。但是,如果你想返回任何類型的對象,你可以改變返回類型爲:
public ResponseEntity <?>
0
你可以嘗試創建一個包含EntityProfile屬性和配置文件屬性的新類:
public class CombinedClass{
EntityProfile entity;
Profile profile;
}
然後讓你的方法返回一個CombinedClass與你需要返回的類。然後在您的接收端,您只需在檢索數據之前檢查實體或配置文件是否爲空。
public ResponseEntity<CombinedClass> getProfile(@PathVariable("id") String id){
CombinedClass combined = new CombinedClass();
if(id != null){
combined.EntityProfile = //the EntityProfile you'll return
}
if(CUSTOMER == null){
combined.profile= //the Profile you'll return
}
return combined;
}
多一點的代碼可以幫助你理解你是否需要它。
相關問題
- 1. 如何從一個方法返回兩種不同類型的值?
- 2. 從單一方法可能返回不同類型的對象
- 3. 從Java中的單一方法返回兩個不同的對象
- 4. 單一的方法返回不同的泛型類型的類
- 5. 從C#方法返回不同類型
- 6. 我如何返回2個值從一個單一的方法
- 7. 如何從重寫的方法返回不同的類型?
- 8. 如何從一個方法返回一個泛型類?
- 9. 返回一個ReadOnlyCollection從方法與一個IList返回類型
- 10. 如何從一個方法返回一個徵::矩陣返回
- 11. 使用單一方法返回不同類型的數據
- 12. 返回一個嵌套類從方法
- 13. 如何從一個方法返回HashSet?
- 14. 從單一方法返回多個值
- 15. 返回不同類型變量的單個get方法
- 16. Des Cryptography的兩種方法返回兩個不同的結果?
- 17. 如何不從func返回兩種不同的類型?
- 18. 單例類返回兩個不同的單例對象
- 19. 結合兩種方法返回兩個不同的值
- 20. 如何使用從不同方法返回的類型調用泛型方法?
- 21. 從另一個類返回double的最簡單方法
- 22. 返回不同類型的方法?
- 23. 一個類根據選項返回不同方法的模式?
- 24. 製作覆蓋方法返回一個不同類型的
- 25. 如何比較兩種不同方法返回的值? Java的
- 26. 從Java界面中的相同方法返回不同類型
- 27. 如何從單一的webservices類調用不同的方法
- 28. 如何從Java方法返回多個不同對象?
- 29. UNITY3D,Unity3D中從一個類/方法返回另一個類/方法的值
- 30. 從一個函數返回不同值的正確方法
歡迎來到SO!你準確的問題是什麼? https://stackoverflow.com/help/how-to-ask –
您可以通過將方法封裝在表示方法返回值的單個類中,從而返回兩個不同的*對象*。您還需要使用Java語法。沒有關鍵字'返回'。 –
如果'EntityProfile擴展配置文件',應該沒有問題。 –