I need to create a public API for my application that can receive a single POST request. More specifically, I need to give users the ability to post data to my database -- the user would be another dev shop and they would be posting a LOT of data, so I can't ask them to log into my site and start filling out forms. I realize POST data is typically consumed via the body, not query params (this is GET).
However, I know a lot of public API's out there do this (e.g. https://developer.flightstats.com/api-docs/alerts/v1. If you look at this site and create a 'flight rule', they're saving your call and returning JSON when your parameters return true). What is best practice for this?
I'm currently using Express w/ Sequelize, and PostgresQL.
Question: Is there a way to send a POST request via URI parameters, and more importantly, is there a safe way to do this? And, if there isn't, what is the best way for a user to post data to my database without filling out a form?
Your client dont need to fill up the form , they can call your
restfulapi
. You need to make restful api serverSee the sample below for the restful api client
Check this How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?
also check this What exactly is RESTful programming?
For security you can use
basic auth / digest auth
or any other custom authentication based your needs