如何在不使用任何JAX-RS实现(Jersey等)的情况下使用Servlet创建RESTful Web服务?
答案 0 :(得分:3)
基本上你绝对正确,你不需要一个框架来实现REST API。
例如,您可以在简单的servlet类中执行基本的crud操作,如下所示:
@WebServlet(urlPatterns = "/book/*")
public class BookServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) {
// fetch from db
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) {
//update
}
@Override
public void doDelete(HttpServletRequest request, HttpServletResponse responce) {
//delete
}
}
由于你需要手动解析url params,进行序列化,这有点不方便,但是在引擎盖下,JAXRS和Spring MVC只是一个servlets! 因此,如果您不想在代码中使用依赖项,我可以建议在servlet api上实现一些方便的包装器。
提示:您可以从请求中解析路径参数:
String info = request.getPathInfo();
String[] parts = pathInfo.split("/");
String param1 = pathInfo[0];
因此,例如,如果您有这样的请求: HTTP GET / book / {id} 您将在param1中获得{id},以后可以在数据库查找中使用它。