boot spring 接口接收数据_SpringBoot配置Swagger实例(POST接收json参数)

本文档展示了如何在SpringBoot应用中利用Swagger2配置接口,接收POST请求的JSON参数。首先介绍了所需的jar包,然后通过Swagger配置类设置API信息,并在Controller中定义接口,使用@RequestBody将JSON转化为实体类。最后,提供了测试接口的方法和预期结果。
摘要由CSDN通过智能技术生成

工程目录结构:

首先,引入jar包,只需要以下两个即可

io.springfox

springfox-swagger2

2.4.0

io.springfox

springfox-swagger-ui

2.4.0

1、Swagger配置类

package com.mark.swagger;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.ApiInfoBuilder;

import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.service.ApiInfo;

import springfox.documentation.service.Contact;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration

@EnableSwagger2public classSwagger2 {//swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等

@BeanpublicDocket createRestApi() {return newDocket(DocumentationType.SWAGGER_2)

.apiInfo(apiInfo())

.select()//为当前包路径

.apis(RequestHandlerSelectors.basePackage("com.mark"))

.paths(PathSelectors.any())

.build();

}//构建 api文档的详细信息函数,注意这里的注解引用的是哪个

privateApiInfo apiInfo() {return newApiInfoBuilder()//页面标题

.title("Spring Boot 测试使用 Swagger2 构建RESTful API")//创建人

.contact(new Contact("WangXiaodong", "http://www.baidu.com", ""))//版本号

.version("1.0")//描述

.description("API 描述")

.build();

}

}

注意修改:basePackage("接口所在controller的包路径")

2、实体类

接口接收入参为json串,需由实体类转化为对应key-value

package com.mark.swagger;public classUser {privateString name;publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}

@OverridepublicString toString() {return "User [name=" + name + "]";

}

}

3、接口所在Controller

package com.mark.swagger;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.bind.annotation.RestController;

import io.swagger.annotations.Api;

import io.swagger.annotations.ApiImplicitParam;

import io.swagger.annotations.ApiImplicitParams;

import io.swagger.annotations.ApiOperation;

@RestController

@RequestMapping("/hello")

@Api(value= "/hello")public classSwagController {

@ApiOperation(value= "查询用户", notes = "查询用户")

@ApiImplicitParams({@ApiImplicitParam(name= "name", value = "姓名", required = true, dataType = "String"),

})

@RequestMapping(value= "/getName",method=RequestMethod.POST)

@ResponseBodypublicUser getName(@RequestBody User name) {

System.out.println(name.toString());returnname;

}

}

通过@RequestBody注解,将接收到的json参数,转化为实体类User对应的值

4、SpringBoot启动类

虽然大家都知道,还是来一个吧

package com.mark;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@SpringBootApplicationpublic classApplication {public static voidmain(String[] args) {

SpringApplication.run(Application.class, args);

}

}

测试

输入地址:localhost:8080/swagger-ui.html

如下所示:出现刚才写的接口

点击SHow/Hide

1、/hello/getName:路径

2、Model:入参json对应的model,就是上面的User

3、填写要传入的参数(json格式)

传入参数:

{"name": "WangXiaodong"}

测试结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值