我需要为我的应用程序创建一个可以接收单个POST请求的公共API。更具体地说,我需要让用户能够将数据发布到我的数据库 - 用户将是另一个开发商店,他们将发布大量数据,因此我不能要求他们登录我的网站开始填写表格。我意识到POST数据通常是通过正文消耗的,而不是查询参数(这是GET)。
但是,我知道有很多公共API在这里执行此操作(例如https://developer.flightstats.com/api-docs/alerts/v1。如果您查看此网站并创建“飞行规则”,他们就是&#39 ;当参数返回true时,重新保存调用并返回JSON)。这是什么最佳做法?
我目前正在使用Express w / Sequelize和PostgresQL。
问题:有没有办法通过URI参数发送POST请求,更重要的是,有没有一种安全的方法可以做到这一点?而且,如果没有,那么用户在不填写表单的情况下将数据发布到我的数据库的最佳方式是什么?
答案 0 :(得分:1)
您的客户无需填写表单,他们可以致电您restfulapi
。
您需要制作安静的api服务器
请参阅下面的示例,了解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
或任何其他自定义身份验证