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. 从Java中的单一方法返回两个不同的对象
- 3. 单一的方法返回不同的泛型类型的类
- 4. 从C#方法返回不同类型
- 5. 我如何返回2个值从一个单一的方法
- 6. 如何从一个方法返回一个泛型类?
- 7. 返回一个ReadOnlyCollection从方法与一个IList返回类型
- 8. 如何从一个方法返回一个征::矩阵返回
- 9. 使用单一方法返回不同类型的数据
- 10. 返回一个嵌套类从方法
- 11. 如何从一个方法返回HashSet?
- 12. 从单一方法返回多个值
- 13. 返回不同类型变量的单个get方法
- 14. Des Cryptography的两种方法返回两个不同的结果?
- 15. 如何不从func返回两种不同的类型?
- 16. 单例类返回两个不同的单例对象
- 17. 结合两种方法返回两个不同的值
- 18. 如何使用从不同方法返回的类型调用泛型方法?
- 19. 从另一个类返回double的最简单方法
- 20. 返回不同类型的方法?
- 21. 一个类根据选项返回不同方法的模式?
- 22. 制作覆盖方法返回一个不同类型的
- 23. 如何比较两种不同方法返回的值? Java的
- 24. 从Java界面中的相同方法返回不同类型
- 25. 如何从单一的webservices类调用不同的方法
- 26. 如何从Java方法返回多个不同对象?
- 27. UNITY3D,Unity3D中从一个类/方法返回另一个类/方法的值
- 28. 从一个函数返回不同值的正确方法
- 29. 从不同方法的循环返回
- 30. 从另一个类中的一种方法返回两个字典与Tuple
欢迎来到SO!你准确的问题是什么? https://stackoverflow.com/help/how-to-ask –
您可以通过将方法封装在表示方法返回值的单个类中,从而返回两个不同的*对象*。您还需要使用Java语法。没有关键字'返回'。 –
如果'EntityProfile扩展配置文件',应该没有问题。 –