2017-07-27 53 views
0

想象一下,我有我的DB一个名为 '匹配' 的表,我储存:REST API是否可以返回数据库上不存在的属性值?

  • ID
  • round_id
  • 得分
  • 起始日期
  • END_DATE

当我的REST API在端点/匹配上返回JSON我必须强制返回数据库中存在的字段/列或者我可以ret瓮一些像这样的自定义字段:

{id: 1, is_over: true, no_goals: false} 

此外,该表match只有与round表关系,而round表中有season具有与competition表关系的关系。

在/ matchs端点json中,我可以返回competition数据direclty吗?事情是这样的:

/配衬:

{id: 1, is_over: true, no_goals: false, competition: { id: 2, name: 'foo',...}} 
+0

人们甚至会知道你要返回不在数据库中的字段吗? – jwodder

回答

1

这是你的API。你可以随心所欲地做任何事情!

0

当您使用REST API时,您将使用数据。 在这种情况下,您仍然使用数据,只需添加不在您数据库中的新字段。 所以有可能,这样做可以,不会中断REST API模型。很多人做的一件事就是为自己的请求注入新的字段,如自定义http代码或自定义消息。

而对于比赛,你可以这样做

所以一切都好!

+0

谢谢@sheplu!还有关于如何根据REST模型返回深层父母关系的信息?我知道一个简单的父/子关系,我应该在我的API查询参数中使用_expand/_embed。但那些深深的关系,没有一个FK直接我不知道。 –

+0

完全取决于你如何实现你的API。可能只是您的网址或正文请求中的参数。关于如何做到这一点,没有“最佳做法”。 但是如果你总是发回你的竞赛数据,你不需要在你的URL中指定你想要的数据,因为你总是会发送它们 – sheplu

相关问题