2016-12-20 15 views
-2

Мне нужно создать общедоступный API для моего приложения, которое может получить один запрос POST. В частности, мне нужно предоставить пользователям возможность отправлять данные в мою базу данных - пользователь будет другим магазином-разработчиком, и они будут размещать много данных, поэтому я не могу попросить их войти на мой сайт и начать заполнять форм. Я понимаю, что данные POST обычно потребляются через тело, а не параметры запроса (это GET).Как вы отправляете данные POST в базу данных по URL-адресу?

Однако, я знаю много публичных API, которые там делают (например, https://developer.flightstats.com/api-docs/alerts/v1. Если вы посмотрите на этот сайт и создадите «правило полета», они сохраняют ваш вызов и возвращают JSON, когда ваши параметры возвращают true) , Для чего лучше всего?

В настоящее время я использую Express w/Sequelize и PostgresQL.

Вопрос: Есть ли способ отправить запрос POST через параметры URI, и что еще более важно, существует ли безопасный способ сделать это? А если нет, то какой способ лучше всего разместить данные в моей базе данных без заполнения формы?

+1

В чем вопрос? Существует не какое-либо правило http, в котором говорится, что почтовый запрос не может иметь параметров на нем. – Taplar

+0

@joe, поэтому вам нужно вставить данные в базу данных по запросу GET? – neoDev

+0

Я отредактировал мой вопрос выше. Мне нужно разрешить пользователю легко переносить данные (и много) в мою базу данных. @neoDev, ... да, но можете ли вы сделать это без проблем безопасности? – Joe

ответ

0

Ваш клиент не должен заполнять форму, они могут позвонить вам restfulapi. Вам нужно сделать для спокойного клиента апи RESTful API сервера

Смотрите пример ниже

$.ajax({ 
    type: 'POST', 
    url: '/url', 
    data: JSON.stringify({name: 'jonas',"age":30}), 
    success: function(data) { 
     alert('success'); 
     }, 
    contentType: "application/json", 
    dataType: 'json' 
}); 

Проверить эту How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?

также проверить эту What exactly is RESTful programming?

Для безопасности вы можете использовать basic auth/digest auth или любой другой пользовательской аутентификации, основанной на ваших потребностях

+0

будет неплохо получить разум для проголосовать :). Ему нужен лучший способ публикации в базе данных без заполнения формы. – sumit

+0

Да, извините, здесь есть некоторые люди. Я тоже это понимаю, см. Выше :) Итак, я знаю, что данные POST отправляются через тело - это отправляется через тело как JSON? Спасибо за ответ, это было очень тщательно! – Joe