74 lines
2.2 KiB
Markdown
74 lines
2.2 KiB
Markdown
# Overview
|
|
|
|
This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project.
|
|
By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate a server stub.
|
|
This is an example of building a swagger-enabled server in Java using the SpringBoot framework.
|
|
|
|
The underlying library integrating swagger to SpringBoot is [springfox](https://github.com/springfox/springfox)
|
|
|
|
Start your server as an simple java application.
|
|
|
|
You can view the api documentation in swagger-ui by pointing to
|
|
[http://localhost:8080/api/swagger-ui.html](http://localhost:8080/api/swagger-ui.html)
|
|
|
|
Change default port value in `src/main/resources/application.properties`
|
|
|
|
## Build the project
|
|
|
|
1. Install Maven [https://maven.apache.org/install.html](https://maven.apache.org/install.html) and setup the environment path accordingly
|
|
|
|
2. Go into the project root directory that has the pom.xml and run `mvn package`
|
|
|
|
## Run only the unit tests
|
|
|
|
`mvn test`
|
|
|
|
## Run the application
|
|
|
|
1. Modify the `src/main/resources/application.properties` values with valid SQL Server values.
|
|
|
|
```java
|
|
spring.datasource.url=someurl
|
|
spring.datasource.username=username
|
|
spring.datasource.password=password
|
|
```
|
|
|
|
1. Start the API: `mvn spring-boot:run`
|
|
|
|
### POST API Example
|
|
|
|
This curl command creates a new user with ID 1234.
|
|
|
|
```bash
|
|
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
|
|
"createdAt":"2018-08-07", \
|
|
"deleted": false, \
|
|
"firstName": "Hacker", \
|
|
"fuelConsumption": 0, \
|
|
"hardAccelerations": 0, \
|
|
"hardStops": 0, \
|
|
"id": "1234", \
|
|
"lastName": "Test", \
|
|
"maxSpeed": 0, \
|
|
"profilePictureUri": "https://pbs.twimg.com/profile_images/1003946090146693122/IdMjh-FQ_bigger.jpg", \
|
|
"ranking": 0, \
|
|
"rating": 0, \
|
|
"totalDistance": 0, \
|
|
"totalTime": 0, \
|
|
"totalTrips": 0, \
|
|
"updatedAt": "2018-08-07", \
|
|
"userId": "Hacker3" \
|
|
}' 'http://localhost:8080/api/user/1234'
|
|
```
|
|
|
|
### PATCH API Example
|
|
|
|
This updates the `fuelConsumption` and `hardStops` fields from the user created above.
|
|
|
|
```bash
|
|
curl -X PATCH --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
|
|
"fuelConsumption":20, \
|
|
"hardStops":74371 \
|
|
}
|
|
```
|