搭建简单的Restful风格的web服务

原创 2017年12月05日 23:43:10

笔者最近在学习Spring相关的知识,坚信一句话,任何教程都没有官网教程全面、易懂,所以笔者计划参照官网的教程写一些例子,自己学习一下,也做下记录,由于官方教程大部分都是基于Spring boot,所以笔者也按Spring boot框架来编写代码。
工具用的Idea和包管理器用的通用的Maven,教程
第一个例子肯定就是程序员的开始——Hello World。
首先我们定义一个类,用来作为Restful的返回值,也就是接口返回值。后期所有的接口返回值都是这个类。
ResultBean

package hello;

public class ResultBean {
    private static int SUCCESS = 0;
    private static int FAIL = 1;
    private Integer code;
    private String errorMsg;
    private Object data;
    static public  ResultBean ok(){
        ResultBean  bean = new ResultBean();
        bean.setCode(SUCCESS);
        return bean;
    }
    static public  ResultBean ok(Object data){
        ResultBean  bean = new ResultBean();
        bean.setCode(SUCCESS);
        bean.setData(data);
        return bean;
    }
    static public  ResultBean error(){
        ResultBean  bean = new ResultBean();
        bean.setCode(FAIL);
        return bean;
    }
    static public  ResultBean error(String msg){
        ResultBean  bean = new ResultBean();
        bean.setCode(FAIL);
        bean.setErrorMsg(msg);
        return bean;
    }
    static public  ResultBean error(Integer errorCode, String msg){
        ResultBean  bean = new ResultBean();
        bean.setCode(errorCode);
        bean.setErrorMsg(msg);
        return bean;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public Integer getCode() {
        return code;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public Object getData() {
        return data;
    }
}

开始Hello World。
pom文件里添加Spring boot web依赖。



    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

创建main入口方法的Application类。

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

其中,@SpringBootApplication 是以下三个注解的组合注解:
1. @Configuration,表示本类是Application容器的配置类。
2. @EnableAutoConfiguration,表示启用默认配置Spring上下文,根据通用模式加载对应的配置。
3. @ComponentScan,表示扫描本类所在的目录下所有的包下带有@Service, @Component, @Controller作为Bean,加载带Spring上下文中。
实现一个Controller。

@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public ResultBean hello(@RequestParam(value="name", defaultValue="World") String name) {
        return ResultBean.ok("hello " + name);
    }
}

其中:@RestController是@Controller和@ResponseBody的组合注解,表示当前Controller是Rest风格,会以接口的形式调用,方法的返回值就是请求的返回值,不会再去渲染页面。
本示例的意思是一个默认值为“World”参数,返回”Hello”+ name。
启动程序并在浏览器中输入:

http://localhost:8080/hello?name=CYF

请求返回值:
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

用python创建一个简单的restful风格的web服务应用

使用python创建一个简单的restful风格的webservice应用 摘要 本文介绍使用python创建一个简单的restful风格的webservice应用,原文地址http:/...
  • qq8864
  • qq8864
  • 2014年11月11日 21:41
  • 682

spring4之搭建restful风格的web服务

通过spring mvc搭建一个提供Restful API的web服务

(五)CXF整合Spring发布RESTful风格的Web服务

1.项目所需JAR包,我是用Maven管理项目的,直接贴出依赖 org.apache.cxf cxf-rt-frontend-jaxrs 2.7.11 ...

使用Spring构建Restful的Web服务.pdf

  • 2017年03月20日 20:55
  • 22.89MB
  • 下载

redis+Jedis+spring搭建简单web服务

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类...

一、搭建简单的axis web服务

1、在官方网站下载axis的工程(这个等下就有用的)和源码、jar包等,下载地址是: http://axis.apache.org/axis/  2、解压下载的工程或源码,解压axis-bin-1...

Yii2快速构建RESTful Web服务功能简介

Yii2一个重要的功能升级是内置完整的RESTful支持。只需要简单的配置就可以为已有资源创建一整套服务,且包含开箱即用的安全(如OAuth2)、访问速率、定制字段、内容协商等等高级接口支持。...
  • iefreer
  • iefreer
  • 2014年07月29日 21:32
  • 30887
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:搭建简单的Restful风格的web服务
举报原因:
原因补充:

(最多只允许输入30个字)