easyui结合java,Spring+SpringMVC+MyBatis+easyUI整合进阶篇(二)接口设计及Java后端实现

前言

原计划这部分代码的更新也是上传到ssm-demo仓库中,因为如下原因并没有这么做:

有些使用了该项目的朋友建议重新创建一个仓库,因为原来仓库中的项目太多,结构多少有些乱糟糟的。

而且这次的代码改动较大,与原来的目录结构及代码风格相比都有很大的差别。

同时也考虑到不同的人所处的学习阶段不同,担心有人不习惯也不适应这种风格及后面的更新,有的朋友甚至可能是初学者,更适合学习ssm-demo这个基础项目。

基于以上几点,最终并没有选择把几个项目都放在一个代码仓库中,而是另外花了些时间改动并且重新创建了一个仓库,perfect-ssm另起炉灶,项目也在新的服务器和域名下部署。

AAffA0nNPuCLAAAAAElFTkSuQmCC

接口设计

项目共有三个模块:

文章管理模块

图片管理模块

用户管理模块

针对以上三个模块,并结合前文《设计一套好的RESTful API》中所总结的RESTful API设计原则,对api进行改造,目标接口如下:

图片上传:

原接口 [] http://ssm-demo.hanshuai.xin/loadimage/upload.do

现接口 [POST] http://perfect-ssm.hanshuai.xin/images

文章添加:

原接口 [] http://ssm-demo.hanshuai.xin/article/save.do

现接口 [POST] http://perfect-ssm.hanshuai.xin/articles

文章修改:

原接口 [] http://ssm-demo.hanshuai.xin/article/save.do

现接口 [PUT] http://perfect-ssm.hanshuai.xin/articles

文章列表:

原接口 [] http://ssm-demo.hanshuai.xin/article/list.do

现接口 [GET] http://perfect-ssm.hanshuai.xin/articles

文章删除:

原接口 [] http://ssm-demo.hanshuai.xin/article/delete.do

现接口 [DELETE]http://perfect-ssm.hanshuai.xin/articles

图片添加:

原接口 [] http://ssm-demo.hanshuai.xin/picture/save.do

现接口 [POST] http://perfect-ssm.hanshuai.xin/pictures

图片修改:

原接口 [] http://ssm-demo.hanshuai.xin/picture/save.do

现接口 [PUT] http://perfect-ssm.hanshuai.xin/pictures

图片列表:

原接口 [] http://ssm-demo.hanshuai.xin/picture/list.do

现接口 [GET] http://perfect-ssm.hanshuai.xin/pictures

图片删除:

原接口 [] http://ssm-demo.hanshuai.xin/picture/delete.do

现接口 [DELETE]http://perfect-ssm.hanshuai.xin/pictures

用户登录:

原接口 [] http://ssm-demo.hanshuai.xin/user/login.do

现接口 [POST] http://perfect-ssm.hanshuai.xin/users/cookie

用户列表:

原接口 [] http://ssm-demo.hanshuai.xin/user/list.do

现接口 [GET] http://perfect-ssm.hanshuai.xin/users

用户删除:

原接口 [] http://ssm-demo.hanshuai.xin/user/delete.do

现接口 [DELETE]http://perfect-ssm.hanshuai.xin/users

用户添加:

原接口 [] http://ssm-demo.hanshuai.xin/user/save.do

现接口 [POST] http://perfect-ssm.hanshuai.xin/users

修改密码:

原接口 [] http://ssm-demo.hanshuai.xin/user/modifyPassword.do

现接口 [PUT] http://perfect-ssm.hanshuai.xin/users

根据不同资源映射成不同的uri,对于资源的具体操作类型,由HTTP动词来表示。

java后端实现

前文中提到了一些设计原则,这一篇就是将这些原则运用到项目中,但是理论性的知识看看就忘了,我写博客的目的不是为了写理论概念,没有实际项目配合我是不会写的,我觉得通过代码实现出来,配合实战才能让理论知识吸收的更好。

由于是ssm项目,因此主要是通过SpringMVC实现,更多的是使用了SpringMVC的注解来进行简化开发。

整合过程:

首先是修改web.xml配置文件,使得URI可以符合RESTful风格。

springMVC

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:spring-context-mvc.xml

1

springMVC

/

修改spring-context-mvc.xml配置文件,配置json消息转换器及动态资源过滤。

application/json; charset=UTF-8

p:order="1">

@RequestMapping注解,规范和限制Http请求的请求方法。

@RequestMapping(value = "", method = RequestMethod.PUT)

@RequestMapping(value = "/{ids}", method = RequestMethod.DELETE)

@ResponseBody注解,将返回结果转换为JSON格式。

增加common包,其中的工具类规定了返回状态码及返回数据的基本格式。

common

AAffA0nNPuCLAAAAAElFTkSuQmCC

public class Constants {

public static final int RESULT_CODE_SUCCESS = 200; // 成功处理请求

public static final int RESULT_CODE_BAD_REQUEST = 412; // bad request

public static final int RESULT_CODE_SERVER_ERROR = 500; // 没有对应结果

}

public class Result implements Serializable {

private static final long serialVersionUID = 1L;

private int resultCode;

private String message;

private T data;

public Result() {

}

}

注意事项

几个需要注意的注解:

@RequestMapping

@PathVariable

@ResponseBody

@RequestParam

代码中大量的出现,本文中也一再强调,因此,给正在看本篇文章的你一个建议就是如果你不熟悉这几个注解,花点时间去认真学习和实践一下,知道这几个注解的用法和注意事项,网上针对这些注解的文章有很多,可以针对性的学习一下,这篇文章就不再占用篇幅去赘述了,需要代码的话,直接去我的GitHub仓库中去下载就好。

结语

首发于我的个人博客,新的项目演示地址:perfect-ssm,用户名:admin,密码:123456。

AAffA0nNPuCLAAAAAElFTkSuQmCC

如果有问题或者有一些好的创意,欢迎给我留言,也感谢向我指出项目中存在问题的朋友,本篇主要讲述了后端的实现,关于前端的修改会在下一篇文章中讲述。

如果你想继续了解该项目可以查看整个系列文章Spring+SpringMVC+MyBatis+easyUI整合系列文章,也可以到我的GitHub仓库或者开源中国代码仓库中查看源码及项目文档。

我曾七次鄙视自己的灵魂:

第一次,当它本可进取时,却故作谦卑;

第二次,当它空虚时,用爱欲来填充;

第三次,在困难和容易之间,它选择了容易;

第四次,它犯了错,却借由别人也会犯错来宽慰自己;

第五次,它自由软弱,却把它认为是生命的坚韧;

第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;

第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值