我正在创建一个API,用于提交内部处理的传入电子邮件。邮件服务器脚本将以简单的格式提交它们,就像收到的一样:
POST /api/messages/
{
"sender": "sender@...",
"recipient": "recipient@...",
"email_message": "headers\nbody"
}
然而,在提交时,email_message
被解析,一些字段被提取,消息体被解析等,我们实际存储的实体是这样的:
GET /api/messages/1/
{
"sender": "sender@...",
"recipient": "{our internal recipient ID}"
"subject": "Subject from email",
"date": "Date from email",
"parsed_body": "Output of some magic performed on the Email body",
... etc ...
}
正如您所看到的,这与首先通过POST提交的内容完全不同。
是否允许在REST规则下进行此转换,还是应该按原始POST方式存储(和检索)实体?如果它应该按原样存储,那么我应该提供什么样的API端点来提交未解析的消息?