Restful Api: я не следую определению RESTful Api. Одним из его ограничений является то, что он должен быть без состояния

#node.js #rest #express

#node.js #rest #выразить

Вопрос:

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

введите описание изображения здесь

Как вы можете видеть, я сохраняю идентификатор в постоянной переменной. Так что я не создаю настоящие Restful Api. Пожалуйста, помогите мне

Комментарии:

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

Ответ №1:

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

Например, если я открываю HTTP-запрос и вхожу в систему, а затем не закрываю TCP-соединение и выполняю другой запрос, сервер не должен предполагать, что я все тот же пользователь / пользователь. Он может определить это только на основе таких заголовков , как Authorization или Cookie .

Ваш const даже не является глобальной константой. Он будет создаваться заново для каждого запроса.

Но даже если бы это было так, это, вероятно, не имеет значения. Если вы выполняете PUT запрос и получаете что-то, хранящееся в базе данных, это «состояние», но не связано с безгражданством HTTP.

Комментарии:

1. Итак, братан, это означает, что использование запроса put и в этом запросе создание локальной переменной и сохранение в ней данных противоречит определению без состояния?

2. Пожалуйста, не могли бы вы объяснить это простым способом. С уважением

3. Извините, ваш вопрос очень трудно понять. Можете ли вы попытаться перефразировать?

4. Брат, мой вопрос. В моих API я могу создавать переменные (хотя они являются локальными), и они хранят данные запроса. таким образом, они не против определения restful API без состояния. Это то, что я хочу понять. Как я знаю, отсутствие состояния означает, что вы не можете сохранять какое-либо состояние или данные на стороне сервера.