Följande behövs:
- Java 1.8
- Maven
- GIT
- En IDE, exempelvis IntelliJ
Syftet är att få känna på att bygga REST tänster i Java med hjälp av Dropwizard.
Vi kommer påbörja att bygga en gästbok, under det första tillfället (idag alltså) kommer vi att bygga ett REST gränssnitt för gästboken.
Tjänsten kommer ha typ tre resurser:
- /guestbook
- /guestbook/{id}/entry
- /guestbook/entries
Den första finns nästan komplett för att kunna tittas på, övriga är fria att utveckla.
- Börja med att clona repot
https://github.com/WebstepSweden/guestbook.git
- Öppna projectet i valfri IDE
- Bygg projektet i din IDE eller via maven
mvn clean install
Lättast är att starta tjänsten från IDE'n genom att köra klassen
se.webstep.microservice.guestbook.MigrateAndRunService
Hittas via micro-tjänsten på följande URI;
http://localhost:8080/doc
eller http://localhost:8080/swagger
Hittas under följande URI:
http://localhost:8081
This resource handles creating, deleting, fetching guestbooks.
curl -X "POST" "http://localhost:8080/guestbook" -H "Content-Type: application/json" -d $'{"name":"Test"}'
curl -X "GET" "http://localhost:8080/guestbook/list"
curl -X "GET" "http://localhost:8080/guestbook/list/open"
curl -X "GET" "http://localhost:8080/guestbook/{guestBookId}"
curl -X "PUT" "http://localhost:8080/guestbook/{guestBookId}/open"
curl -X "PUT" "http://localhost:8080/guestbook/{guestBookId}/close"
curl -X "POST" "http://localhost:8080/guestbook/{guestBookId}/entry" -H "Content-Type: application/json" -d $'{"name":"Test", "email":"[email protected]","message":"Det här skriver vi"}'
curl -X "GET" "http://localhost:8080/guestbook/{guestBookId}/entry/{id}"
`curl -X "DELETE" "http://localhost:8080/guestbook/{guestBookId}/entry/{id}
curl -X "PUT" "http://localhost:8080/guestbook/{guestBookId}/entry/{id}/{status}
curl -X "GET" "http://localhost:8080/guestbook/{guestbookId}/entries"
curl -X "GET" "http://localhost:8080/guestbook/{guestbookId}/entries/readable"
curl -X "GET" "http://localhost:8080/guestbook/{guestbookId}/entries/un_readable"