SpringBoot整合Restful架构

本文详细介绍了如何在SpringBoot中整合Restful架构,包括使用RestTemplate调用Rest服务,Swagger集成以方便API文档的生成,以及动态修改日志级别以适应不同场景需求。通过实例展示了服务提供者和服务消费者之间的交互,以及Swagger的配置和日志级别动态调整的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Spring与Restful整合才是微架构的核心,虽然在整个SpringBoot(SpringCloud)之中提供有大量的服务方便整合,但是这些整合都不如Rest重要,因为Rest是整个在微架构之中进行通讯的基础模式。那么对于Rest首先必须对其有一个最为核心的解释:利用JSON实现数据的交互处理。而且Spring里面提供有一个非常强大的RestTemplate操作模板,利用此模板可以非常轻松的实现Rest的Json数据与各种对象间的自动转换。

在默认状态下Spring里面针对Rest的处理使用的都是jackson开发支持包。

1.1、使用RestTemplate调用Rest服务

由于Rest属于分布式的项目开发环境,所以本次进行项目建立的时候一共建立有三个子模块:

  • microboot-restful-api:作为公共的类定义,例如:可以将所有的VO类定义在此项目之中

  • microboot-restful-provider:作为服务提供者,这次的服务提供者提供两个服务(获得对象、增加对象)

  • microboot-restful-consumer:作为服务的消费者,消费者就是利用RestTemplate实现Rest服务的调用以及对象转换

1、【microboot-restful-api】建立一个公共的VO类对象:

package cn.mldn.microboot.vo;

import java.io.Serializable;
import java.util.Date;

public class Member implements Serializable {
   
    private static final long serialVersionUID = 5879393512553198949L;

    private Long mid;
    private String name;
    private Integer age;
    private Double salary;
    private Date birthday;
   
   ......(省略getset和 toString 方法)...... 
}

2、【microboot-restful-provider】修改pom.xml配置文件,去引用api模块:

<dependency>
    <groupId>cn.mldn</groupId>
    <artifactId>microboot-restful-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

3、【microboot-restful-provider】建立一个控制器实现Rest服务处理:

package cn.mldn.microboot.controller;

import cn.mldn.microboot.vo.Member;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@RestController
public class MemberController {
   

    @RequestMapping(value = "/member/add")
    public Object add(Member member){
   
        System.err.println("【MemberController.add()接收对象】" + member);
        return true;
    }

    @RequestMapping(value = "/member/get")
    public Member get(long mid){
   
        Member vo = new Member();
        vo.setMid(mid);
        vo.setName("mldn -" + mid);
        vo.setBirthday(new Date());
        vo.setSalary(9999.99);
        vo.setAge(16);
        return vo;
    }
}

4、【microboot-restful-provider】定义程序启动类,启动服务,而后测试当前服务是否可用:

5、【microboot-restful-consumer】如果要进行Rest操作,那么一定要注意使用一个RestTemplate模板完成处理,所以首先要建立一个程序配置类,进行RestTemplate模板对象创建:

package cn.mldn.microboot.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class RestConfig {
   
    @Bean
    public RestTemplate getRestTemplate(){
   
        return new RestTemplate();
    }
}

6、【microboot-restful-consumer】修改application.yml配置端口:

server:
  port: 80

7、【microboot-restful-consumer】编写测试程序类测试远程Rest服务是否可用:

package cn.mldn.microboot;

import cn.mldn.microboot.vo.Member;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值