的我有两个型号,conversations
和messages
,第一存储会话信息(与数据透视表conversation_user
了许多一对多的关系),而第二只存储的信息,作者的ID,和conversation_id(使用数据透视表message_user
将每条消息链接到每个用户,以便每个用户都可以将消息标记为已读/未读或存档/删除)。RESTful的实现多种模式
现在,为了创建一个新的对话,我可以做两件不同的事情,我不知道哪个更好。显然有一种形式可以输入所有收件人以及要发送的初始消息(假设用户本身将确保此类会话不存在,否则他们只会打开对话):
选项1
POST
调用/conversations
与所有参与创建一个新的谈话user_id
。 conversation_id
被送回,另一个POST
调用/messages
与conversation_id
,user_id
(作者)和message
。
选项2
发送的所有数据/conversations
,并从操作中,一旦会话已经建立,使内部电话/messages
创建消息。
选项2比较容易,但我觉得选项1更RESTful的每个动作只对自己负责。
什么是更好的方法?