BREAKING CHANGES!!
All api's have been moved to api.sampleapis.com/[ENDPOINT]/[DATA]
. For example, api.sampleapis.com/futurama/characters
. If you have applications currently using the old way, you will need to update.
In order to move forward with some planned features, there needed to be a separation between the front and back ends. The back end is strictly an express endpoint application supplying the data necessary to the front end and apis. The front end is a React application, utilizing standard CRA and best practices. ( At lease the best practices I could find. )
In the old application, we needed to updated the APIList.js
to get the data to show up. This is no more. Now, when submitting a new endpoint, you will need to include a metadata
object to the json file. This is what powers the system and was intended to make life a little easier / programmatic.
Foundation for user created endpoints. This feature is still in beta and not promoted on the site. Users can manually access the link by going to .com/create
. Here the user will need to enter a group name and provide a list of endpoints to create the first file.
More improvements will be made in the near future.
Custom 404 Pages.
In anticipation of being utilized more, we have put in a rate limiter based on IP address. Right now the rate limit is 500 every 5 minutes. This can be adjusted based on user feedback.
After trying several hosts, SampleAPIs is now being self hosted. By doing this we now gain back all the CURD ability we lost being on a static host.
Version 2.0.0
We have introduced the proper use of Express.js and embraced the Pug.js template engine to gain maximum efficiency in our work stream.
APIList.js is now our single source of truth, running both the backend urls as well as the frontend visualizations.
This object is being passed into individual pages to provide the information necessary to a given set of data. The notable change here is the inclusion of the endpoint available. Before the system would read the json file and make the buttons accordingly. Again, do to the way Express and JSONServer interact with each other we are forced to explicitly name the available endpoints.
{
id: 1,
title: "Futurama",
longDesc: "If you are a Futurama fan, then this api is for you. Here you can find everything from Episodes to Characters to Trivia Questions, and even some of the Products featured on the show.",
desc: "An API with characters, episode listing, species, planets, and trivia questions.",
link: "futurama",
endPoints: [
"info",
"characters",
"cast",
"episodes",
"questions",
"inventory"
]
}
The biggest change has been the API folder. The same db.json
and db.json.backup
file structure exists, but they are no longer associated with a folder and individualized markup and css.
You will notice the ulr to get data has changed slightly. https://sampleapis.com/DATABASE/api/ENDPOINT
This is due to the way Express and JSONServer interact with each other.