Perfect JSON API Example 简体中文
An Example JSON API for Perfect
This package builds with Swift Package Manager and is part of the Perfect project.
Ensure you have installed Xcode 8.0 or later.
- Check out or download the project;
- In terminal, navigate to the directory and execute
swift package generate-xcodeproj
- Open
Perfect-JSON-API.xcodeproj
- Add to the "Library Search Paths" in "Project Settings"
$(PROJECT_DIR)
, recursive. (This step will be unneeded in a future release of Xcode 8.) - Select the Executable build target from the build targets dropdown in Xcode
- Run (cmd-R) to build & run in Xcode.
In Xcode's console output pane you will see:
[INFO] Starting HTTP server on 0.0.0.0:8181 with document root ./webroot
- In a browser, visit http://localhost:8181/api/v1/people
- Check out or download the project;
- In terminal, navigate to the directory
- Execute
swift build
- Once the project has compiled, execute
./.build/debug/Perfect-JSON-API
The output you will see:
[INFO] Starting HTTP server on 0.0.0.0:8181 with document root ./webroot
- In a browser, visit http://localhost:8181/api/v1/people
The following routes are included in this API for demonstration purposes:
- GET: http://localhost:8181/ - A demonstration HTML "Hello, world!" page is returned.
- GET: http://localhost:8181/api/v1/people - Returns a JSON list of persons from the included mock data.
- POST: http://localhost:8181/api/v1/people - Adds a person to the internal mock object and returns the new array as JSON. Note the following POST params are expected:
firstName
,lastName
,email
. - POST: http://localhost:8181/api/v1/people/json - Accepts a raw body of JSON. Adds a new person, returns the new list. JSON would be in the following format:
{
"email": "[email protected]",
"firstName": "Test",
"lastName": "User"
}
The repo includes a file Example-PeopleAPI.postman_collection
which is a Postman URL collection.
With Postman installed, import and use to easily query the routes.
We are transitioning to using JIRA for all bugs and support related issues, therefore the GitHub issues has been disabled.
If you find a mistake, bug, or any other helpful suggestion you'd like to make on the docs please head over to http://jira.perfect.org:8080/servicedesk/customer/portal/1 and raise it.
A comprehensive list of open issues can be found at http://jira.perfect.org:8080/projects/ISS/issues
For more information on the Perfect project, please visit perfect.org.