как лучше всего зарегистрировать нового пользователя — get vs post

#javascript #python #api #rest #fastapi

Вопрос:

я пытаюсь изучить лучшие методы регистрации новых пользователей.

Я могу думать только о двух вариантах (но, возможно, их больше!) и надеюсь узнать, какой из них лучше для скорости и для общей практики:

первый способ:

 a. once the user submits a new useramp;pass, i make a GET request on a REST entrypoint
b. if the user exists then let him know, if not then make a POST request
 

второй способ:

 a. once the user submits a new useramp;pass, i make a POST request, within which a GET request is made.
b. if the user exists then let him know, if not then continue with the POST
 

кроме того, если это должно быть сделано в одной точке входа — вернитесь к клиенту, а затем попросите js выполнить другой вызов

Спасибо

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

1. Вы создаете свой собственный бэкэнд??

2. @NishantBhosale да, серверная часть-это приложение fastapi, которое вызывает базу данных postgres

3. что это значит-ВОЙТИ в ПОСТ? как правило, СООБЩЕНИЕ должно быть правильным, и ничто не мешает вам ответить на запрос о публикации со статусом регистрации так же, как вы хотели бы ПОЛУЧИТЬ

4. Просто сделайте СООБЩЕНИЕ, если пользователь уже существует , верните 409 Conflict или 406 Not Acceptable или что — то в этом роде.

5. @YuriSh у меня ранее была точка входа в POST, которая в конце функции сделала еще один запрос на публикацию с помощью запросов. Сеанс() для того, чтобы сделать вторую запись в БД, для которой требовался первичный ключ для первого существования, поэтому я подумал, что сделаю что — то подобное, чтобы проверить, существует ли пользователь

Ответ №1:

Лучше иметь только один запрос POST, который возвращает статус 409(конфликт), если пользователь уже существует, и статус 201(созданный ресурс), если пользователь был успешно создан.