文档章节

基于RESTful springMVC开发

stars永恒
 stars永恒
发布于 2016/04/20 16:36
字数 373
阅读 12
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
0
0
memcached命令行、memcached数据导出和导入

一、memcached命令行 yum装telnet yum install telent 进入memcached telnet 127.0.0.1 11211 命令最后的2表示,两位字节,30表示过期时间(秒) 查看key1 get key1 删除:ctrl+删除键 二、m...

Zhouliang6
今天
0
0
Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法 Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这...

月夜中徘徊
今天
1
1
shell-日志脚本小实验

1.查找日志2018-8-15,求得那一分钟访问量最大。 #/bin/bash#from cc#2018-8-15#2018-08-15.log 哪一分钟 访问量 最大for d in `ls /data/nginx/logs/`doif [ -a 2018-08-15...

chencheng-linux
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部