首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >端点只有一个处理程序是不是违反了REST原则?

端点只有一个处理程序是不是违反了REST原则?
EN

Stack Overflow用户
提问于 2018-06-02 22:53:08
回答 1查看 89关注 0票数 0

关于this教程(Miguel Grinberg:使用Flask的RESTful应用程序),我遇到了一些疑问。

本教程展示了如何创建具有多个路由的资源,并且每个路由都有不同的行为。

我的问题是关于REST架构:

  • 如果一个资源有一个更紧凑的结构,而不是每个HTTP谓词都有多个路由,这是否违背了REST原则?

下面是我正在讨论的一个例子:

代码语言:javascript
复制
@app.route('/todo/api/v1.0/tasks', methods=['GET', 'POST'])                      
@app.route('/todo/api/v1.0/tasks/<int:task_id>', methods=['GET', 'PUT', 'DELETE'])
def tasks(task_id=None):                                                    
    if task_id is None:                                                         
        if request.method == "GET":                                             
            pass                                                                
        elif request.method == "POST":                                          
            pass                                                                
    else:                                                                       
        if request.method == "GET":                                             
            pass                                                                
        elif request.method == "PUT":                                           
            pass                                                                
        elif request.method == "DELETE":                                        
            pass  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-03 04:20:13

是否会违反REST原则,为资源提供更紧凑的结构,而不是为每个HTTP动词提供多个路由?

不是的。

REST和HTTP都不关心如何实现消息处理程序。他们只关心消息的语义。只要您的实现的响应与无聊的超媒体文档存储的响应难以区分,您就是好的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50658118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档