當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
002 Spring Restful案例
生活随笔
收集整理的這篇文章主要介紹了
002 Spring Restful案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1:工程結構
需要注意的是需要額外導入以下三個包:
jackson-annotations-2.6.1.jar
jackson-core-2.6.1.jar?
jackson-databind-2.6.1.jar
?
2:配置文件
(1)web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><session-config><session-timeout>30</session-timeout></session-config><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!--Spring Restfull--><servlet><servlet-name>rest</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>rest</servlet-name><url-pattern>/*</url-pattern></servlet-mapping></web-app>(2)rest-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:jee="http://www.springframework.org/schema/jee"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsdhttp://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.2.xsd"> <mvc:annotation-driven/><context:component-scan base-package="com.wzh.api"/> <!--Dao--><bean id="userDao" class="com.wzh.api.user.UserDaoImpl"/><!--Service--><bean id="userService" class="com.wzh.api.user.UserService"><property name="userDao" ref="userDao"/></bean><!--Controller--><bean id="userCtrl" class="com.wzh.api.user.UserCtrl"><property name="userService" ref="userService"/></bean></beans>3:com.wzh.comm.ResultVo
package com.wzh.comm;import com.fasterxml.jackson.databind.annotation.JsonSerialize;/*** @author y* @date 2015-9-6 18:34:44* @version V1.0* @desc 操作結果公共返回值對象*/ public class ResultVo {@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)private Integer no;@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)private String msg;@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)private Object result;public Integer getNo() {return no;}public void setNo(Integer no) {this.no = no;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getResult() {return result;}public void setResult(Object result) {this.result = result;}}使用jackson提供的注解功能:
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)如果字段的值為NULL則不進行JOSN轉換.
?
4:com.wzh.api.user.*
(1)UserModel.java
package com.wzh.api.user;/*** @author y* @date 2015-9-5 9:15:55* @version V1.0* @desc 用戶對象*/ public class UserModel {private String dm;private String name;private Integer age;public String getDm() {return dm;}public void setDm(String dm) {this.dm = dm;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}?
(2)UserDao.java
package com.wzh.api.user;import java.util.List;/*** @author y* @date 2015-9-5 9:17:28* @version 1.0* @desc */ public interface UserDao {int add(UserModel user);int delete(String dm);int update(UserModel user);UserModel get(String dm);List<UserModel> list(UserModel user,int offset,int count); }?
(3)UserDaoImpl.java
package com.wzh.api.user;import java.util.ArrayList; import java.util.List;/*** @author y* @date 2015-9-6 18:20:23* @version V1.0* @desc */ public class UserDaoImpl implements UserDao{public int add(UserModel user) {return 1;}public int delete(String dm) {return 1;}public int update(UserModel user) {return 1;}public UserModel get(String dm) {UserModel um = new UserModel();um.setDm(dm);um.setName("張三");um.setAge(26);return um;}public List<UserModel> list(UserModel user, int offset, int count) {List<UserModel> list = new ArrayList<UserModel>();UserModel um = new UserModel();um.setDm("001");um.setName("張三");um.setAge(26);list.add(um);um = new UserModel();um.setDm("002");um.setName("李四");um.setAge(26);list.add(um);um = new UserModel();um.setDm("003");um.setName("王五");um.setAge(26);list.add(um);return list;}}?
(4)UserService.java
package com.wzh.api.user;import com.wzh.comm.ResultVo;/*** @author y* @date 2015-9-6 18:24:13* @version V1.0* @desc */ public class UserService {private UserDao userDao;private ResultVo resultVo;public void setUserDao(UserDao userDao){this.userDao = userDao;}public ResultVo add(UserModel user){resultVo = new ResultVo();resultVo.setNo(userDao.add(user));resultVo.setMsg("數據增加成功");return resultVo;}public ResultVo delete(String dm){resultVo = new ResultVo();resultVo.setNo(userDao.delete(dm));resultVo.setMsg("刪除成功");return resultVo;}public ResultVo update(UserModel user){resultVo = new ResultVo();resultVo.setNo(userDao.update(user));resultVo.setMsg("更新成功");return resultVo;}public ResultVo get(String dm){resultVo = new ResultVo();resultVo.setNo(1);resultVo.setMsg("OK");resultVo.setResult(userDao.get(dm));return resultVo;}public ResultVo list(UserModel user,int offset,int count){resultVo = new ResultVo();resultVo.setNo(1);resultVo.setMsg("OK");resultVo.setResult(userDao.list(user, offset, count));return resultVo;} }?
(5)UserCtrl.java
package com.wzh.api.user;import com.wzh.comm.ResultVo; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;/*** @author y* @date 2015-9-6 18:49:03* @version V1.0* @desc */ @RestController @RequestMapping("/api/users") public class UserCtrl {private UserService userService;public void setUserService(UserService userService){this.userService = userService;}@RequestMapping(value="/add/{dm}/{name}/{age}",method=RequestMethod.POST,headers="Accept=application/json")public ResultVo add(@PathVariable String dm,@PathVariable String name,@PathVariable Integer age){UserModel user = new UserModel();user.setDm(dm);user.setName(name);user.setAge(age);return userService.add(user);}@RequestMapping(value="/{dm}",method=RequestMethod.DELETE,headers="Accept=application/json")public ResultVo delete(@PathVariable String dm){return userService.delete(dm);}@RequestMapping(value="/update/{dm}/{name}/{age}",method=RequestMethod.PUT,headers="Accept=application/json")public ResultVo update(@PathVariable String dm,@PathVariable String name,@PathVariable Integer age){UserModel user = new UserModel();user.setDm(dm);user.setName(name);user.setAge(age);return userService.update(user);}@RequestMapping(value="/{dm}",method=RequestMethod.GET,headers="Accept=application/json")public ResultVo get(@PathVariable String dm){return userService.get(dm);}@RequestMapping(method=RequestMethod.GET,headers="Accept=application/json")public ResultVo list(){UserModel user = new UserModel();int offset=10;int count = 10;return userService.list(user, offset, count);} }?
6:測試
使用google一個插件應用Postman進行Restful測試.
(1)增加用戶
(2)刪除用戶
(3)更新用戶信息
(4)查詢一個用戶的詳情
(5)查詢集合用戶詳情
?
總結
以上是生活随笔為你收集整理的002 Spring Restful案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内网穿透
- 下一篇: JS基础篇--函数声明与定义,作用域,函