Step 1: Go to following location, navigate to the latest version of wiremock and download latest jat file.
https://repo1.maven.org/maven2/com/github/tomakehurst/wiremock-standalone/
At the time of writing this article 2.9.0 is the latest wiremock version.
$ls
wiremock-standalone-2.9.0.jar
Run wiremock in standalone mode by executing the below command.
java -jar wiremock-standalone-2.9.0.jar
$java -jar wiremock-standalone-2.9.0.jar
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
/$$ /$$ /$$ /$$ /$$ /$$
| $$ /$ | $$|__/ | $$$ /$$$ | $$
| $$ /$$$| $$ /$$ /$$$$$$ /$$$$$$ | $$$$ /$$$$ /$$$$$$ /$$$$$$$| $$ /$$
| $$/$$ $$ $$| $$ /$$__ $$ /$$__ $$| $$ $$/$$ $$ /$$__ $$ /$$_____/| $$ /$$/
| $$$$_ $$$$| $$| $$ \__/| $$$$$$$$| $$ $$$| $$| $$ \ $$| $$ | $$$$$$/
| $$$/ \ $$$| $$| $$ | $$_____/| $$\ $ | $$| $$ | $$| $$ | $$_ $$
| $$/ \ $$| $$| $$ | $$$$$$$| $$ \/ | $$| $$$$$$/| $$$$$$$| $$ \ $$
|__/ \__/|__/|__/ \_______/|__/ |__/ \______/ \_______/|__/ \__/
port: 8080
enable-browser-proxying: false
no-request-journal: false
verbose: false
As you the console output, you can confirm that wiremock stared and listening on port 8080.
Open the url 'http://localhost:8080/__admin/recorder/' to see recorder user interface.
Once you start WireMock in standalone mode, you can see that following two folders are created.
a. mappings : It contain request, response json
b. __files: It contains response messages, errors json
$ls
__files mappings wiremock-standalone-2.9.0.jar
Let’s create an end point /employees/1
Create employeesById.json file in mappings folder.
$tree
.
├── __files
├── mappings
│ └── employeesById.json
└── wiremock-standalone-2.9.0.jar
2 directories, 2 files
employeesById.json
{
"request": {
"urlPattern": "/employees/1",
"method": "GET"
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json"
},
"body": "{ \"id\":1,\"firstName\" : \"Rama\",\"lastName\": \"Gurram\"}"
}
}
Restart WireMock application.
Open the url ‘http://localhost:8080/employees/1’ in browser, you will see following json.
{ "id":1,"firstName" : "Rama","lastName": "Gurram"}
Create an employee
Create ‘createEmployee.json’ file in mappings folder.
createEmployee.json
{
"request": {
"urlPattern": "/employees",
"method": "POST",
"bodyPatterns": [{
"equalToJson": "{\"firstName\":\"Ram\",\"lastName\" : \"Gurram\"}"
}]
},
"response": {
"status": 201,
"headers": {
"Content-Type": "application/json"
},
"body": "{\"id\":1,\"firstName\":\"Ram\",\"lastName\" : \"Gurram\"}"
}
}
Restart WireMock Service.
Open any REST client like postman and hit following request.
API: http://localhost:8080/employees
Method: POST
Payload:
{"firstName":"Ram","lastName" : "Gurram"}
You will get following response.
{
"id": 1,
"firstName": "Ram",
"lastName": "Gurram"
}
No comments:
Post a Comment