один обработчик для ресурса и его HTTP-глаголов в модели REST - PullRequest
0 голосов
/ 02 июня 2018

Относительно этого учебного пособия ( Мигель Гринберг: RESTful-приложения с Flask ) я столкнулся с некоторыми сомнениями.

В учебном пособии показано создание ресурсас несколькими маршрутами, и каждый из них ведет себя по-разному.

enter image description here

Мой вопрос касается архитектуры REST:

  • Было бы против принципов REST, иметь более компактную конструкцию для ресурса вместо нескольких маршрутов для каждого HTTP-глагола?

Вот пример того, о чем я говорю:

@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  

1 Ответ

0 голосов
/ 02 июня 2018

Было бы против принципов REST иметь более компактную конструкцию для ресурса вместо нескольких маршрутов для каждого HTTP-глагола?

Нет.

Ни REST, ни HTTP не заботятся о том, как вы реализуете свои обработчики сообщений.Они заботятся только о семантике сообщений.Пока ответы вашей реализации неотличимы от ответов скучного гипермедиа хранилища документов, вы хороши.

...