文档章节

基于RESTful springMVC开发

stars永恒
 stars永恒
发布于 2016/04/20 16:36
字数 373
阅读 16
收藏 0

controller代码

package cn.internet.userinfo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
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.ResponseBody;

import cn.internet.userinfo.pojo.User;
import cn.internet.userinfo.service.UserService;

@RequestMapping("rest/user")
@Controller
public class RestUserController {
    
    @Autowired
    private UserService userService;
    
    /**
     * 新增
     * Title: saveUser
     * @param user
     * @return
     */
    @RequestMapping(method=RequestMethod.POST)
    //@ResponseBody
    public ResponseEntity<Void> saveUser(User user){
        try {
            this.userService.saveUser(user);
            //返回201
            return ResponseEntity.status(HttpStatus.CREATED).build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
    /**
     * 删除
     * Title: deleteUser
     * @param id
     * @return
     */
    @RequestMapping(value="{id}",method=RequestMethod.DELETE)
    public ResponseEntity<Void> deleteUser(@PathVariable("id") Long id){
        try {
            this.userService.deleteUser(id);
            //返回204
            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
    /**
     * 修改
     * Title: updateUser
     * @param user
     * @return
     */
    @RequestMapping(method=RequestMethod.PUT)
    public ResponseEntity<Void> updateUser(User user){
        try {
            this.userService.updateUser(user);
            //返回204
            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
    /**
     * 根据id查询
     * Title: queryUserById
     * @param id
     * @return
     */
    @RequestMapping(value="{id}",method=RequestMethod.GET)
    public ResponseEntity<User> queryUserById(@PathVariable("id") Long id){
        try {
            User user = this.userService.queryUserById(id);
            //返回200
            //return ResponseEntity.ok(user);
            return ResponseEntity.ok().body(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
}

service代码

package cn.internet.userinfo.service;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import cn.internet.userinfo.mapper.UserMapper;
import cn.internet.userinfo.pojo.User;

@Service
public class UserService {
	@Autowired
    private UserMapper userMapper;
	/**
     * 根据id查询用户数据
     * 
     * @param id
     * @return
     */
    public User queryUserById(Long id) {
       User user = this.userMapper.selectByPrimaryKey(id);
       return user;
    }
    /**
     * 分页查询用户数据
     * 
     * @param page 页码
     * @param rows 每页显示数据条数
     * @return
     */
	public PageInfo<User> queryListByPage(Integer page, Integer rows) {
		PageHelper.startPage(page, rows);
		List<User> list = this.userMapper.select(null);
		PageInfo<User> pageInfo=new PageInfo<User>(list);
		
		return pageInfo;
	}
	/**
         * 保存
         * Title: saveUser
         */
        public void saveUser(User user) {
            user.setId(null);
        }
        /**
         * 删除
         * Title: deleteUser
         * @param id
         */
        public void deleteUser(Long id) {
            this.userMapper.deleteByPrimaryKey(id);
        }
        /**
         * 修改
         * Title: updateUser
         * @param user
         */
        public void updateUser(User user) {
            user.setUpdated(new Date());
            this.userMapper.updateByPrimaryKeySelective(user);
        }
}


© 著作权归作者所有

共有 人打赏支持
stars永恒
粉丝 7
博文 150
码字总数 165331
作品 0
大兴
后端工程师
AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET平台介绍 AgileEAS.NET应用开发平台,或者说AgileEAS.NET应用中间件,简称EAS.NET,是基于敏捷并行开发思想以及.NET构件技术而开发的一个应用系统快速开发平台,用于帮助中小型软...

agilelab
2010/09/15
0
0
基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度

在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好...

walb呀
2017/12/04
0
0
基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码

在Web开发的时候,我们很多时候,需要引用很多CSS文件、JS文件,随着使用更多的插件或者独立样式文件,可能我们的Web界面代码会越来越臃肿,看起来也很累赘,在MVC里面提供了一个Bundle的对象...

walb呀
2017/12/04
0
0
基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔《Web开发中的文件上传组件uploadify的使用》中可以看到,Asp.NET中如何使用这个组件...

walb呀
2017/12/04
0
0
Dorado7基于视图模版的向导式开发

Dorado7基于视图模版的向导式开发 定位 Dorado7基于视图模版的向导式开发是Dorado7提供一种更为高效的制式开发模式,通过向导(Wizard)一步步设置,快速得到一个页面。向导有IDE支持,基于视...

thinkingdo
2012/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Docker Compose 原理

Docker 的优势非常明显,尤其是对于开发者来说,它提供了一种全新的软件发布机制。也就是说使用 docker 镜像作为软件产品的载体,使用 docker 容器提供独立的软件运行上下文环境,使用 dock...

Java干货分享
21分钟前
0
0
解决过滤器中设置cookie无效的问题

解决过滤器中设置cookie无效的问题 代码现场 filterChain.doFilter(sessionSyncRequestWrapper, response);Cookie emailCook = WebServletUtil.getSelectedCookie(request.getCookies(), ......

黄威
32分钟前
0
0
Hbase Schema 设计注意事项及最佳实践总结

一个列族的所有列在硬盘上存放在一起,使用这个特性可以把不同访问模式的列放在不同列族,以便隔离它们。这也是HBase被称为面向列族的存储(column-family-oriented store)的原因。 1、RowKe...

PeakFang-BOK
45分钟前
1
0
t-io给群组成员内置排序

1、实现比较器Comparator<ChannelContext> package xxx;import java.util.Comparator;import java.util.Objects;import java.util.Set;import java.util.TreeSet;import or......

talent-tan
48分钟前
2
0
px、em、rem 区别及作用

原文 起因: 一开始是为了解决页面放大时,字体不跟着放大的 bug。现在多用用于统一规范。 概念: 任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em...

lemos
57分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部