springboot项目如何创建?idea?02

本文介绍如何在Spring Boot项目中集成Swagger2,实现RESTful API的文档自动生成及在线测试功能。通过配置MySwaggerConfigurer类并创建UserController控制器,演示了各种HTTP请求方法的使用,并展示了如何通过Swagger UI进行API调用。

创建如下图所示,箭头标记的东西,注意位置

在这里插入图片描述

MySwaggerConfigurer内容:

 package com.zhiyou100.springboot02.config;

 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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;


@Configuration
@EnableSwagger2
public class MySwaggerConfigurer {

  @Bean // 把方法的返回值注入 ioc 容器
public Docket api() {

    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .select()                   //修改自己的项目包
            .apis(RequestHandlerSelectors.basePackage("com.zhiyou100.springboot02.controller"))
            .paths(PathSelectors.any())
            .build();
}

private ApiInfo apiInfo() {

    return new ApiInfoBuilder()
            .title("Springboot02 项目 Api 接口测试文档")
            .description("spring boot 02") //对项目的描述
            .version("1.0") //项目版本号
            .build();
    }
}

UserController内容:

package com.zhiyou100.springboot02.controller;

import com.zhiyou100.springboot02.entity.User;
import com.zhiyou100.springboot02.vo.ResponseVo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

//post  参数from表单 @RequestParam获取参数
//post  参数json   @RequestBody获取参数


//@RequestMapping(value = "/users",method = RequestMethod.GET )
@GetMapping("/users")  //查
public ResponseVo<String> getUser(@RequestParam("page") Integer page, @RequestParam("size") Integer size){
    return  new ResponseVo<>(200,"","page:"+page+",size:"+size);
}

@PostMapping("/users")   //增
public  ResponseVo<User> addUser(@RequestBody User user){
    return new ResponseVo<>(200,"",user);
}

@PutMapping("/users")  //改
public ResponseVo<User> updateUser(@RequestBody User user){
    return new ResponseVo<>(200,"",user);
}

@DeleteMapping("/users/{id}")  //删
public  ResponseVo<Integer> deleteUser(@PathVariable("id") Integer id){
    return  new ResponseVo<>(200,"",id);
}

  /*  @RequestMapping(value = "/users/{id}",method = RequestMethod.GET)
public Integer getUserById(@PathVariable("id") Integer id){
    return id;
}*/

@GetMapping("/users/{id}")
public ResponseVo<Integer> getUserById(@PathVariable("id") Integer id){
    return new ResponseVo<>(200,"",id);
}

@GetMapping("/users/{id}/friends")
public ResponseVo<Integer> getFriendsByUserId(@PathVariable("id")Integer id,@RequestParam("page") Integer page,@RequestParam("size") Integer size ){
    return new ResponseVo<>(200,"",id);
  }
}

User内容:

package com.zhiyou100.springboot02.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


@Data  //生成setter 和 getter 方法
@NoArgsConstructor //无参构造方法
@AllArgsConstructor  //有参构造方法
public class User {
    private  Integer id;
    private  String name;
    private  Integer age;

}

ResponseVo内容:

package com.zhiyou100.springboot02.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResponseVo<T> {
    /**
     * 请求结果的状态码,正常状况都返回 200/0 异常状况返回自定义的状态码
     */
    private  Integer code;

    //对 code 的解释说明
    private  String message;

    //返回给客户端的数据
    private  T data;
}

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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.zhiyou100</groupId>
    <artifactId>spring-boot-02</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-boot-02</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
下载方式:https://pan.quark.cn/s/c9b9b647468b ### 初级JSP程序设计教程核心内容解析#### 一、JSP基础概述JSP(JavaServer Pages)是由Sun Microsystems公司创建的一种动态网页技术规范,主要应用于构建动态网站及Web应用。JSP技术使得开发者能够将动态数据与静态HTML文档整合,从而实现网页内容的灵活性和可变性。##### JSP的显著特性:1. **动态与静态内容的分离**:JSP技术支持将动态数据(例如数据库查询结果、实时时间等)嵌入到静态HTML文档中。这种设计方法增强了网页的适应性和可维护性。2. **易用性**:开发者可以利用常规的HTML编辑工具来编写静态部分,并通过简化的标签技术将动态内容集成到页面中。3. **跨平台兼容性**:基于Java平台的JSP具有优良的跨操作系统运行能力,能够在多种不同的系统环境中稳定工作。4. **强大的后台支持**:JSP能够通过JavaBean组件访问后端数据库及其他资源,以实现复杂的数据处理逻辑。5. **执行效率高**:JSP页面在初次被请求时会被转换为Servlet,随后的请求可以直接执行编译后的Servlet代码,从而提升了服务响应的效率。#### 二、JSP指令的运用JSP指令用于设定整个JSP页面的行为规范。这些指令通常放置在页面的顶部,向JSP容器提供处理页面的相关指导信息。##### 主要的指令类型:1. **Page指令**: - **语法结构**:`<%@ page attribute="value" %>` - **功能**:定义整个JSP页面的运行特性,如设定页面编码格式、错误处理机制等。 - **实例**: ...
### IntelliJ IDEA 2021 对 Spring Boot 项目的支持 IntelliJ IDEA 2021 版本完全支持运行和开发 Spring Boot 项目。无论是 Ultimate Edition 还是 Community Edition,都可以通过内置工具轻松创建、配置并运行 Spring Boot 应用程序[^2]。然而需要注意的是,虽然社区版提供了基本的支持功能,但一些高级特性(如集成的 Spring Boot DevTools 和更复杂的调试选项)仅在 Ultimate 版本中可用。 为了确保顺利运行 Spring Boot 项目,在安装 IntelliJ IDEA 后需验证其是否已正确配置 JDK 环境以及 Maven 或 Gradle 构建工具版本。此外,建议开发者参考官方文档中的具体指导来完成初始设置[^1]。 下面是一个简单的 Java 类示例用于演示如何启动一个基础的 Spring Boot Web 应用: ```java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } @RestController class HelloController { @GetMapping("/hello") String hello() { return "Hello from Spring Boot!"; } } ``` 此代码片段定义了一个 RESTful API 接口 `/hello` ,当访问该路径时会返回字符串 “Hello from Spring Boot!”[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值