SpringBoot配置Swagger实例(POST接收json参数)

时间:2024-10-12 16:47:06

工程目录结构:

 

 

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

<dependency>
    <groupId></groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.4.0</version>
</dependency>

<dependency>
    <groupId></groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.4.0</version>
</dependency>

 

1、Swagger配置类

package ;

import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ..EnableSwagger2;
 
@Configuration
@EnableSwagger2
public class Swagger2 {
//swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //为当前包路径
                .apis(RequestHandlerSelectors.basePackage(""))
                .paths(())
                .build();
    }
    //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //页面标题
                .title("Spring Boot 测试使用 Swagger2 构建RESTful API")
                //创建人
                .contact(new Contact("WangXiaodong", "", ""))
                //版本号
                .version("1.0")
                //描述
                .description("API 描述")
                .build();
    }
 
 
}

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

 

 2、实体类

 

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

package ;

public class User {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User [name=" + name + "]";
    }
    
}

 

3、接口所在Controller

 

package ;

import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;

@RestController
@RequestMapping("/hello")
@Api(value = "/hello")
public class SwagController {
 
 
    @ApiOperation(value = "查询用户", notes = "查询用户")
    @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "姓名", required = true, dataType = "String"),
    })
    @RequestMapping(value = "/getName",method=)
    @ResponseBody
    public User getName(@RequestBody User name) {
        System.out.println(());
        return name;
    }
 
 
}

 

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

 

 4、SpringBoot启动类

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

package ;

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

 

 

 测试

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

 

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

 

 

 点击SHow/Hide

1、/hello/getName:路径

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

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

 

 

 

传入参数:

{
  "name": "WangXiaodong"
}

 

 测试结果: