标签:条件 delete 在服务器 catch 从服务器 基于 支持 err tms
Restful 风格的 API 是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。在 Restful 风格中,用户请求的 url 使用同一个 url 而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口。
SpringMVC 的 resturl 是通过 @RequestMapping 及 @PathVariable annotation 提供的,通过如 @RequestMapping(value="/blog /{id}",method=RequestMethod.DELETE) 即可处理 /blog/1 的 delete 请求。
/**
*restful-->get 请求 执行查询操作
* @param id
* @return
*/
@RequestMapping(value="queryAccountById02/{id}",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public MessageModel queryAccountById(@PathVariable Integer id){
MessageModel messageModel=new MessageModel();
if(null==id){
messageModel.setCode(300);
messageModel.setMsg("参数非法!");
return messageModel;
}
messageModel.setResult(accountService.queryById(id));
return messageModel;
}
/**
* restful-->post 请求执行添加操作
* @param id
* @param aname
* @return
*/
@RequestMapping(value="saveAccount",method=RequestMethod.POST,produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public MessageModel queryAccountById04(@RequestBody Account account){
MessageModel messageModel=new 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;
}
/**
* restful-->put 请求执行更新操作
* @param id
* @param account
* @return
*/
@RequestMapping(value="update/{id}",method=RequestMethod.PUT,produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public MessageModel queryAccountById04(@PathVariable Integer id,@RequestBody Account account){
MessageModel messageModel=new 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;
}
/**
* restful-->delete 请求 执行删除操作
* @param id
* @return
*/
@RequestMapping(value="deleteAccountById/{id}",method=RequestMethod.DELETE,produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public MessageModel queryAccountById05(@PathVariable Integer id){
MessageModel messageModel=new 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;
}
你知道什么是 Restful 风格吗?SpringMVC 带我们实现它!
标签:条件 delete 在服务器 catch 从服务器 基于 支持 err tms
原文地址:https://blog.51cto.com/14819669/2528573