php开源免费网站模板,温州做美食网站,广州建设工程合同备案系统网站,淘客手机网站建设Restful 风格的 API 是一种软件架构风格#xff0c;设计风格而不是标准#xff0c;只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁#xff0c;更有层次#xff0c;更易于实现缓存等机制。在 Restful 风格中设计风格而不是标准只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁更有层次更易于实现缓存等机制。在 Restful 风格中用户请求的 url 使用同一个 url 而用请求方式getpostdeleteput...等方式对请求的处理方法进行区分这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦形成一个统一的接口。SpringMVC Restful 风格 url 配置实现的方式SpringMVC 的 resturl 是通过 RequestMapping 及 PathVariable annotation 提供的通过如 RequestMapping(value/blog /{id},methodRequestMethod.DELETE) 即可处理 /blog/1 的 delete 请求。GETSELECT从服务器查询可以在服务器通过请求的参数区分查询的 方式。 POSTCREATE在服务器端新建一个资源调用 insert 操作。 PUTUPDATE在服务器端更新资源调用 update 操作。 PATCHUPDATE在服务器端更新资源客户端提供改变的属性。(目前 jdk7 未实现tomcat7 不支持)。 DELETEDELETE从服务器端删除资源调用 delete 语句。 案例实操Get 请求配置/**
*restful--get 请求 执行查询操作
* param id
* return
*/
RequestMapping(valuequeryAccountById02/{id},methodRequestMethod.GET,producesMediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseBody
public MessageModel queryAccountById(PathVariable Integer id){MessageModel messageModelnew MessageModel();if(nullid){messageModel.setCode(300);messageModel.setMsg(参数非法!);return messageModel;}messageModel.setResult(accountService.queryById(id));return messageModel;
}Post 请求配置/**
* restful--post 请求执行添加操作
* param id
* param aname
* return
*/
RequestMapping(valuesaveAccount,methodRequestMethod.POST,producesMediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseBody
public MessageModel queryAccountById04(RequestBody Account account){MessageModel messageModelnew MessageModel();try {accountService.saveOrUpdateAccount(account);} catch (ParamsException e) { e.printStackTrace();messageModel.setCode(e.getErrorCode());messageModel.setMsg(e.getErrorMsg());}catch (Exception e) { e.printStackTrace();messageModel.setCode(300);messageModel.setMsg(操作失败!);}return messageModel;
}Put 请求配置/**
* restful--put 请求执行更新操作
* param id
* param account
* return
*/
RequestMapping(valueupdate/{id},methodRequestMethod.PUT,producesMediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseBody
public MessageModel queryAccountById04(PathVariable Integer id,RequestBody Account account){MessageModel messageModelnew MessageModel();try {accountService.saveOrUpdateAccount(account);} catch (ParamsException e) { e.printStackTrace();messageModel.setCode(e.getErrorCode());messageModel.setMsg(e.getErrorMsg());}catch (Exception e) { e.printStackTrace();messageModel.setCode(300);messageModel.setMsg(操作失败!);}return messageModel;
}Delete 请求配置 /*** restful--delete 请求 执行删除操作* param id* return*/
RequestMapping(valuedeleteAccountById/{id},methodRequestMethod.DELETE,producesMediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseBody
public MessageModel queryAccountById05(PathVariable Integer id){MessageModel messageModelnew MessageModel();try {accountService.deleteAccountById(id);} catch (ParamsException e) { e.printStackTrace();messageModel.setCode(e.getErrorCode());messageModel.setMsg(e.getErrorMsg());}catch (Exception e) { e.printStackTrace();messageModel.setCode(300);messageModel.setMsg(操作失败!);}return messageModel;
}扩展~RESTREST英文Representational State Transfer简称REST描述了一个架构样式的网络系统比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中Roy Fielding是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中REST相比于SOAPSimple Object Access protocol简单对象访问协议以及XML-RPC更加简单明了无论是对URL的处理还是对Payload的编码REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准而更像是一种设计的风格。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。