基于SpringMVC的REST构建

通过前后端分离的方式将服务端从系统中独立分配出来进行部署,使前端的视图层与后端的业务逻辑层进行分层,对逻辑以及视图进行解耦。通过个人实践,使用SpringMVC搭建REST风格系统。

搭建过程主要还是对spring的配置文件的设置

maven依赖

项目构建通过maven进行包的管理,在这里我们通过Spring框架进行系统配置,同时使用json作为rest请求消息格式,我们所需要的包分别是SpringMVC的依赖包以及Jackson的Json处理包。主要依赖包配置如下:



    org.springframework
    spring-webmvc
    4.2.5.RELEASE


    org.springframework
    spring-oxm
    4.2.5.RELEASE



    com.fasterxml.jackson.core
    jackson-core
    2.5.4


    com.fasterxml.jackson.core
    jackson-databind
    2.5.4


    org.codehaus.castor
    castor-xml
    1.3.1

web.xml

在这里进行Spring配置文件的配置,以及过滤器的配置工作。


    contextConfigLocation
    /WEB-INF/applicationContextMain.xml


    org.springframework.web.context.ContextLoaderListener


    action
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        /WEB-INF/action-servlet.xml
    
    1



    action
    /

spring配置




    
    

    

    
    
        
    

    
    
        
            
                
                
                
            
        
    
    
    
    
    
        
        
    

    

    
    

试例方法

Controller类,负责接收url请求

package org.rest.action;

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 org.rest.pojo.UserInfo;
import java.util.ArrayList;

@Controller
@RequestMapping("/userinfo")
public class SpittleController {

    @RequestMapping(value = "/{id}/{name}", method = RequestMethod.GET, headers = { "Accept=application/json" })
    public @ResponseBody ArrayList getSpittle(
            @PathVariable("id") int id, @PathVariable("name") String name,
            Model model) {
        UserInfo user = new UserInfo();
        user.setId(id);
        user.setName(name);
        ArrayList list = new ArrayList();
        list.add(user);
        return list;
    }
}

Pojo类

package org.rest.pojo;

public class UserInfo {
    
    private Integer id;
    private String name;
    private Integer age;
    
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    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;
    }
}

部署完成,测试如下:

基于SpringMVC的REST构建_第1张图片
系统部署测试

源码下载

Demo已上传至GitHub,欢迎指正!

Demo源码

你可能感兴趣的:(基于SpringMVC的REST构建)