Как возвратить сгенерированный идентификатор в УСПОКОИТЕЛЬНОМ POST?

Оказывается, я искал не тот кусок кода для этого. Проблема была не в nodemailer, а в том, как я обслуживал приложение узла на сервере. Я обновил свой файл server.js в соответствии с тем, что было в посте, на который @candybeer указал мне. NodeJS https сервер возвращает ERR_SSL_PROTOCOL_ERROR с помощью экспресс

Из диспетчера сертификатов Windows я смог экспортировать сертификат в файл pfx, преобразовать его в файлы .PEM с помощью онлайн-инструмента и затем поместить их в папку server.js и использовал их с https для прослушивания порта.

const https = require('https');
const fs = require("fs");

const options = {
    key: fs.readFileSync('key.pem'),
    cert: fs.readFileSync('cert.pem')
}

// app.listen(port, function() {
//     console.log("Express started on port: ", port);
// });

https.createServer(options, app).listen(port, function() {
    console.log("Express started on port: ", port);
});

Спасибо @candybeer. Высоко ценится

28
задан Community 23 May 2017 в 12:22
поделиться

3 ответа

Вернуть код состояния 201 - Создано и поместить URL-адрес в заголовок Location. Вам вообще не нужно возвращать тело.

41
ответ дан 28 November 2019 в 02:51
поделиться

REST полностью посвящен URL-адресам ресурсов.

Лучшая практика RESTful - возвращать URL-адрес, используемый для доступа к только что созданному ресурсу.

Я бы не вернул весь документ. Если это не важно для протокола по какой-либо причине (например, сервер может изменить данные, которые отправляет клиент, и клиент хочет подтвердить, что все в порядке). Если это не важно, клиент уже знает данные.

Если вы вернете только идентификатор, клиент не будет знать, что с ним делать. Но возвращение URL-адреса позволит клиенту продолжить взаимодействие REST с сервером (предположительно, получив документ с описанием услуги). Это не означает, что вы не можете вернуть идентификатор вместе с URL. Но URL, потому что это веб-система, является наиболее важной частью информации, которую вы можете знать. Кроме того, идентификатор, скорее всего, будет тем, что вам нужно внутри вашей бэкэнда, а не чем-то, о чем клиенту придется беспокоиться.

РЕДАКТИРОВАТЬ:
Относительно того, следует ли вам обернуть возвращаемый URL в XML, это действительно зависит от вашего протокола. Если вы думаете, что вы захотите вернуть другие данные в будущем, XML будет более разумным. Наличие именованного формата файла позволит вам лучше управлять версиями ваших служб (изменяя заголовок типа документа). Но вы можете просто вернуть URL.

14
ответ дан Eric Normand 28 November 2019 в 02:51
поделиться

Одно из преимуществ возврата заголовка Location и фактического тела объекта в ответе заключается в том, что клиент может получить результирующее представление за один проход к серверу. . AtomPub , например, делает это.

10
ответ дан 28 November 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: