设计REST API的正确方法

时间:2016-05-18 06:34:28

标签: rest django-rest-framework solid-principles

我已创建REST apis来管理资源(端点为/user/resource)。我可以查询进行GET调用的资源并使用POST调用创建资源。我使用api通过对REST api端点进行ajax调用来管理来自UI的资源。

现在需要在创建资源时发送电子邮件,如果资源已经存在,则在邮件中发送包含资源详细信息的邮件(不修改资源)。如果发送邮件应该是用于创建资源的原始REST api的一部分或发送邮件应该单独处理,我很困惑。如果"发送邮件"不是原始REST api的一部分,那么它将涉及我的UI上的一些更多处理,以进行另一次发送邮件的调用。如果我公开"发送邮件"通过另一个REST api的逻辑然后应该如何构建端点,它是否类似于/user/resource/email,因为邮件发送只与资源相关或应该是/user/email

1 个答案:

答案 0 :(得分:1)

你的问题不是很清楚。但是,您可以尝试在执行业务操作的同一api中发送邮件。

例如:

public Object createResource() {
     //Perform your business operation here
     //check if your resource is already exists or not. Depending on the result call
    Object sendEail(..,..,..);
}

private Object sendEail(String address,String subject,String body) {
    //Write code for sending mail here
}

我希望你理解我的观点。