上QQ阅读APP看书,第一时间看更新
How to do it...
- The very first thing that we will need to do is add a new dependency to build.gradle with the spring-boot-starter-web starter to get us all the necessary libraries for web-based functionality. The following code snippet is what it will look like:
dependencies { compile("org.springframework.boot:spring-boot-starter-data-jpa") compile("org.springframework.boot:spring-boot-starter-jdbc") compile("org.springframework.boot:spring-boot-starter-web") runtime("com.h2database:h2")
runtime("mysql:mysql-connector-java") testCompile("org.springframework.boot:spring-boot-starter-test") }
- Next, we will need to create a Spring controller that will be used to handle the web requests for the catalog data in our application. Let's start by creating a new package structure to house our controllers so that we have our code nicely grouped by its appropriate purposes. Create a package folder called controllers in the src/main/java/com/example/bookpub directory from the root of our project.
- As we will be exposing the book data, let's create the controller class file called BookController in our newly created package with the following content:
@RestController @RequestMapping("/books") public class BookController { @Autowired private BookRepository bookRepository; @RequestMapping(value = "", method = RequestMethod.GET) public Iterable<Book> getAllBooks() { return bookRepository.findAll(); } @RequestMapping(value = "/{isbn}", method = RequestMethod.GET) public Book getBook(@PathVariable String isbn) { return bookRepository.findBookByIsbn(isbn); } }
- Start the application by running ./gradlew clean bootRun.
- After the application has started, open the browser and go to http://localhost:8080/books and you should see a response: [].