当前位置: 首页 > 知识库问答 >
问题:

当子类通过http发送到Java/Spring中时,如何识别它们?

云季萌
2023-03-14

我必须系统:

  • 系统A是传统系统,无法编程

系统A有超类Customer和子类Private Customer、Business Customer和Government Customer。每个子类都继承了Customer的基本属性,并扩展了它们自己的属性。

系统A将客户作为JSON发送给系统B。系统B不知道JSON是私人客户、商业客户还是政府客户。但它需要从中创建Java对象,并将其转化为合适的客户。

一种解决方案可以是确定案例的目的。是否存在特定于类的属性。但这些价值观都不是强制性的。另外,我想要一些蓝图,创建这样的特定案例目的不是一个好的编程设计

对此有最佳实践吗?

共有1个答案

常献
2023-03-14

如果您无法在新系统中处理包含所有可能字段的B客户类,并且您需要/想要在私人客户、商业客户和政府客户之间进行区分,那么我认为最好在返回3个不同类作为结果类型的系统中创建3个不同的RESTendpoint。如果您想在系统B中保留与父子类相同的结构,就在您从系统A请求对象时,您将知道A将作为类型返回给您什么。

项目A中endpoint的方法签名示例:

Collection<PrivateCustomer> getPrivateCustomers(Filter filter)

Collection<BusinessCustomer> getBusinessCustomers(Filter filter)

Collection<GovernmentCustomer> getGovernmentCustomers(Filter filter)

我希望这有帮助。

 类似资料:
  • 问题内容: 似乎urllib2默认发送HTTP / 1.1请求? 问题答案: urllib2在后台使用httplib进行连接。您可以将其更改为http 1.0,如下所示。我已包含我的apache服务器访问日志,以显示http连接如何更改为1.0 码 访问日志

  • 我被困在一个公司防火墙后面,它不允许我通过Java Mail API或Apache Commons电子邮件等传统方式发送电子邮件,甚至不允许我发送给公司内部的其他人(无论如何,这就是我想要的)。但我的Outlook 2010显然可以发送这些电子邮件。我想知道是否有办法通过Java代码自动化Outlook 2010,以便Outlook可以发送电子邮件?我知道像“mailto”这样的东西可以用来弹出带

  • 问题内容: 我是Android的新手,所以关于android的知识还不是很多,好的,请讲到重点,我需要通过用户名和密码进行 登录 ,因为我必须通过JSON进行http requset并返回响应也将以JSON格式提供。所以任何人都可以帮助我。谢谢。 问题答案: 试试这个代码

  • 问题内容: 我正在使用此示例中的代码从发送一个到我的Web服务器。在这里复制代码 我的问题 如何在将其发送到服务器之前对其进行最佳压缩,以及如何在服务器(我正在使用)上对其进行解压缩? 问题答案: 根据此http://android-developers.blogspot.com/2011/09/androids-http- clients.html 如果您使用的是Gingerbread或更高版本

  • 在Firebase控制台中,我根据各种用户属性设置了访问群体,现在可以通过控制台向不同的用户群发送通知。有没有办法通过向fcm服务器发送http请求来实现同样的目的?“to”字段应该有一个技巧,但我想不出来。

  • 我刚刚设法调用了Google Drive API,以启用文件的推送通知。 设置推送通知的代码如下所示: 在从浏览器调用servlets doGet并登录之后,我得到以下响应: web.xml: 日志截图: