Spring Boot macht das Erstellen eines REST-Services zum Kinderspiel.
Für den REST-Service benötigen wir einen Controller. Die Annotation @Controller sorgt dafür, dass Spring die Klasse BookController als Controller erkennt. Nun benötigen wir nur noch eine Service-Methode, die als REST-Service veröffentlicht wird. Die öffentliche Methode „insert“ erhält einen String Parameter und legt damit über einen BookService die Entity Book an. Die erzeugte Entity Book wird als Ergebnis zurückgeliefert. Die Annotation @RequestMapping verdrahtet die Service-Methode „insert“ als REST-Service. Für den Response verwendet der Service JSON.
Fertig! Wir haben erfolgreich einen REST-Service erstellt.
@Controller @RequestMapping("/books") public class BookController { @Autowired BookService bookService; @RequestMapping(method = RequestMethod.GET, value = "/insert/{title}") public @ResponseBody Book insert(@PathVariable String title) { return bookService.insertBook(title); } }
Der BookService speichert die Entity Book über ein Spring CrudRepository in eine HSQL DB.
@Component public class BookService { static final Log log = LogFactory.getLog(BookService.class); @Autowired BookRepository bookRepository; public Book insertBook(String title) { Book book = new Book(); book.setTitle(title); return bookRepository.save(book); } }
Das vollständige Maven-Projekt findet Ihr hier: rest-service.zip
Wer weiter in das Thema einsteigen möchte empfehle ich auch einen Blick in folgenden Artikel: REST Shell Makes writing and testing RESTful applications easier with CLI-based resource discovery and interaction.
Wie man den REST-Service ebenso einfach als Client wieder konsumiert, zeige ich im nächsten Blog.
Neugierig geworden? Sprechen Sie mich an, wenn Sie effektiver Ihre Entwicklungsabteilung aufstellen wollen.