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 author any other custom authentication based your needs