2.部署Web应用

2.1创建基础RESTful应用

2.1.1代码实现

接下来,笔者将更改我们之前的项目,让我们的项目提供web的API的接口供web端调用。具体的实现步骤如下:

1.首先我们需要在build.gradle的文件中加入spring-boot-starter-web包的引用。如下所示:

 dependencies {

    implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'

       implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

       implementation 'org.springframework.boot:spring-boot-starter-web'

       implementation 'org.springframework.boot:spring-boot-starter-data-rest'

       runtime 'com.h2database:h2'

       testCompile('org.springframework.boot:spring-boot-starter-test')

}

 

2.接着我们需要创建一个Spring的控制器,这个控制器会给前端请求后端数据使用。在创建控制器之前,我们需要先创建src/main/java/org/owen/bookpub/controllers这个包名。

3.然后我们要将后端的数据暴露给前端,所以我们需要创建控制器类文件名为BookController,这个类放在我们新创建的包下。

 @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);
}
}

 

4.现在,我们启动我们的应用,然后访问http://localhost:8080/books地址,你将会得到‘[]’这个结果。这个结果是正常的,因为你的数据库本来就没有数据。

2.1.2代码说明

能够实现后端暴露数据给前端,这要归功于@RestController的注释。@RestController注释有两个明确的声明:@Controller和@ResponseBody。所以我们也可以这样注释我们BookController的类,如下:

 @Controller
@ResponseBody
@RequestMapping("/books")
public class BookController {...}

  1. @Controller是Spring的原始注释,它类似于@Bean和@Repository,而且声明类是MVC的控制器。
  2. @ResponseBody是Spring MVC 的注释,说明它响应web的请求映射方法,这个完全是HTPP的响应而且也是RESTful应用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值