使用Spring MVC创建REST服务

来源:互联网 发布:验证码js ajax demo 编辑:程序博客网 时间:2024/05/20 18:47

《Spring实战(第4版)》第16章介绍了使用Spring MVC创建REST API的方法,本博文整理了一个简单的例子作为入门,记录下来。

本例子源代码下载地址为:
使用Spring MVC创建REST服务简单例子

一、使用idea创建Maven工程
工程结构图如下所示:
这里写图片描述

pom.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.wu.demo</groupId>    <artifactId>springrest</artifactId>    <version>1.0-SNAPSHOT</version>    <packaging>war</packaging>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <springframework.version>4.3.8.RELEASE</springframework.version>    </properties>    <dependencies>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>${springframework.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context-support</artifactId>            <version>${springframework.version}</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.8.0</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>3.1.0</version>        </dependency>    </dependencies></project>

二、创建User类

public class User {    private Integer id;    private String username;    private String password;    //为节省篇幅,此处省略get/set}

三、创建UserController

package com.wu.demo.springrest.controller;import com.wu.demo.springrest.bean.User;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;import java.util.ArrayList;import java.util.List;@RestController@RequestMapping("/user")public class UserController {    @RequestMapping(value = "/getByUsername/{username}", method = RequestMethod.GET)    public User getByUsername(@PathVariable String username){        User o = new User();        o.setId(1);        o.setUsername(username);        o.setPassword("123456");        return o;    }    @RequestMapping(value = "/list", method = RequestMethod.GET)    public List<User> getByUsername(){        List<User> list = new ArrayList<User>();        User o1 = new User();        o1.setId(1);        o1.setUsername("admin");        o1.setPassword("123456");        User o2 = new User();        o2.setId(2);        o2.setUsername("test");        o2.setPassword("123456");        list.add(o1);        list.add(o2);        return list;    }}

四、MVC配置类如下:

package com.wu.demo.springrest.conf;        import org.springframework.context.annotation.ComponentScan;        import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;        import org.springframework.web.servlet.config.annotation.EnableWebMvc;        import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@EnableWebMvc@ComponentScan(basePackages = {"com.wu.demo.springrest"})public class MvcConfig extends WebMvcConfigurerAdapter{    @Override    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {        configurer.enable();    }}

工程主配置类如下:

package com.wu.demo.springrest.conf;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;public class WebApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {    @Override    protected Class<?>[] getRootConfigClasses() {        return null;    }    @Override    protected Class<?>[] getServletConfigClasses() {        return new Class[] { MvcConfig.class };    }    @Override    protected String[] getServletMappings() {        return new String[] { "/" };    }}

五、部署测试
部署到Tomcat,然后通过浏览器访问测试如下:
这里写图片描述

这里写图片描述

极简配置创建REST服务,更多功能需要更多研究。

本例子源代码下载地址为:
使用Spring MVC创建REST服务简单例子

原创粉丝点击