D. Servlet与WebAPI
D. Servlet与WebAPI
更新日期:2020-04-20
1. 定义WebAPI接口
所谓的WebAPI,其实与本地API一样,无非是我们调用了一个接口,传递指定好的参数,然后取得想要的结果(也就是响应或者应答)。 WebAPI通常是部署在服务器上,调用者需要通过网络请求来进行调用。
首先来看看如何定义一个WebAPI,并使其实现与本地API类似的功能。
假设我们像这样调用一个本地API函数:
1 | |
为了达到类似的效果,我们来简单的设计一个WebAPI。
设计例子
(1) 简单的调用
1 2 | |
只要你会发http请求,就能调用。
(2) 传递参数
这里采用post方法在请求体里设定要传递的参数。我们可以约定请求体里面放的内容格式是json串,然后像下面这样指定参数:
1 2 3 4 | |
(3) 接受返回值
可以通过response对象得到HTTP响应的响应体。假如我们同样约定本函数使用json串来返回数据。那它的响应体可以设计成下面这样:
1 2 3 4 5 6 7 | |
json格式的结果很容易处理,所以目前被使用的比较多。 实际上HTTP响应体里可以放任何数据,包括二进制数据。比如一张图片,一个压缩包。
2. 实现WebAPI接口
使用Java Servlet实现这样一个接口非常容易,你只需要在你的web工程中定义这样一个类,然后发布你的工程,就可以了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
上面的例子中实现了doGet,也就是get方法。doPost也是一样的道理。
WebServlet注解是Servlet 3.0版本中新提供的注解。这样写很方便,省去了在web.xml中配置servlet的繁琐过程。
并且,这个类也可以不放在Web工程中,而放在web工程引用的Jar工程中。