精华内容
下载资源
问答
  • 它专注于为API创建优秀的文档和客户端库。支持Swagger的API可以为API方法生成交互式的文档,让用户可以通过以可视化的方式试验,查看请求和响应、头文件和返回代码,从而发现API的功能。 swagger用于定义API文档。 ...

    Swagger

    Swagger是一种和语言无关的规范和框架,用于定义服务接口,主要用于描述RESTful的API。它专注于为API创建优秀的文档和客户端库。支持Swagger的API可以为API方法生成交互式的文档,让用户可以通过以可视化的方式试验,查看请求和响应、头文件和返回代码,从而发现API的功能。

    swagger用于定义API文档。

    好处:

    1. 前后端分离开发
    2. API文档非常明确
    3. 测试的时候不需要再使用URL输入浏览器的方式来访问Controller
    4. 传统的输入URL的测试方式对于post请求的传参比较麻烦(当然,可以使用postman这样的浏览器插件)
    5. spring-boot与swagger的集比较成简单

    SpringBoot嵌入SwaggerUI

    步骤

    1.jar包引入

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    <dependency>

      <groupId>io.springfox</groupId>

      <artifactId>springfox-swagger-ui</artifactId>

      <version>2.2.2</version>

      <scope>compile</scope>

    </dependency>

    <dependency>

      <groupId>io.springfox</groupId>

      <artifactId>springfox-swagger2</artifactId>

      <version>2.2.2</version>

      <scope>compile</scope>

    </dependency>

    2.基于SpringBoot配置SwaggerConfig

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    @Configuration

    @EnableSwagger2

    public class SwaggerConfig {

      @Bean

      public Docket newsApi() {

        //return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().paths(PathSelectors.any()).build();

        Docket docket = new Docket(DocumentationType.SWAGGER_2);

        docket.enable(true);

        docket.apiInfo(apiInfo()).select().paths(PathSelectors.any()).build();

        return docket;

      }

     

      private ApiInfo apiInfo() {

        return new ApiInfoBuilder().title("订单中心测试平台").description("在这里你可以浏览项目所有接口,并提供相关测试工具")

            .termsOfServiceUrl("http://www-03.ibm.com/software/sla/sladb.nsf/sla/bm?Open").contact("test")

            .license("China Red Star Licence Version 1.0").licenseUrl("#").version("1.0").build();

      }

    }

    3.WebConfig配置说明

    这里有一个需要注意的问题,让WebConfig去继承WebMvcAutoConfigurationAdapter而不是直接继承WebMvcConfigurerAdapter,否则Swagger的页面出不来。

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    @Configuration

    @EnableWebMvc

    public class WebConfig extends WebMvcAutoConfigurationAdapter {

     

      @Override

      public void addCorsMappings(CorsRegistry registry) {

        registry.addMapping("/**");

      }

     

      @Bean

      public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {

        return new PropertySourcesPlaceholderConfigurer();

      }

     

      @Bean

      public Filter characterEncodingFilter() {

        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();

        characterEncodingFilter.setEncoding("UTF-8");

        characterEncodingFilter.setForceEncoding(true);

        return characterEncodingFilter;

      }

     

      @Bean

      public MappingJackson2HttpMessageConverter converter() {

        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();

        return converter;

      }

     

      @Bean

      public ViewResolver getViewResolver() {

        InternalResourceViewResolver resolver = new InternalResourceViewResolver();

        resolver.setViewClass(JstlView.class);

        resolver.setPrefix("/jsp");

        resolver.setSuffix(".jsp");

        return resolver;

      }

     

      @Bean

      public StandardServletMultipartResolver getStandardServletMultipartResolver() {

        return new StandardServletMultipartResolver();

      }

    }

    4.SwaggerUI页面访问

    http://localhost:8080/projectName/swagger-ui.html#!/

    **欢迎关注我的个人公众号:we-aibook,里面有相关技术文章分享,项目架构,知识星球,技术交流群,不定期进行抽奖送书活动哟!**

     

     

    展开全文
  • 它专注于为API创建优秀的文档和客户端库。支持Swagger的API可以为API方法生成交互式的文档,让用户可以通过以可视化的方式试验,查看请求和响应、头文件和返回代码,从而发现API的功能。 SpringBoot嵌入SwaggerUI ...

    Swagger

    Swagger是一种和语言无关的规范和框架,用于定义服务接口,主要用于描述RESTful的API。它专注于为API创建优秀的文档和客户端库。支持Swagger的API可以为API方法生成交互式的文档,让用户可以通过以可视化的方式试验,查看请求和响应、头文件和返回代码,从而发现API的功能。

    SpringBoot嵌入SwaggerUI

    步骤

    1.jar包引入

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.2.2</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.2.2</version>
        <scope>compile</scope>
    </dependency>
    复制代码

    2.基于SpringBoot配置SwaggerConfig

    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
    	@Bean
    	public Docket newsApi() {
            //return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().paths(PathSelectors.any()).build();
    		Docket docket = new Docket(DocumentationType.SWAGGER_2);
    		docket.enable(true);
    		docket.apiInfo(apiInfo()).select().paths(PathSelectors.any()).build();
    		return docket;
    	}
    
    	private ApiInfo apiInfo() {
    		return new ApiInfoBuilder().title("订单中心测试平台").description("在这里你可以浏览项目所有接口,并提供相关测试工具")
    				.termsOfServiceUrl("http://www-03.ibm.com/software/sla/sladb.nsf/sla/bm?Open").contact("test")
    				.license("China Red Star Licence Version 1.0").licenseUrl("#").version("1.0").build();
    	}
    }
    
    复制代码

    3.WebConfig配置说明

    这里有一个需要注意的问题,让WebConfig去继承WebMvcAutoConfigurationAdapter而不是直接继承WebMvcConfigurerAdapter,否则Swagger的页面出不来。

    @Configuration
    @EnableWebMvc
    public class WebConfig extends WebMvcAutoConfigurationAdapter {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**");
        }
    
        @Bean
        public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
            return new PropertySourcesPlaceholderConfigurer();
        }
    
        @Bean
        public Filter characterEncodingFilter() {
            CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
            characterEncodingFilter.setEncoding("UTF-8");
            characterEncodingFilter.setForceEncoding(true);
            return characterEncodingFilter;
        }
    
        @Bean
        public MappingJackson2HttpMessageConverter converter() {
            MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
            return converter;
        }
    
        @Bean
        public ViewResolver getViewResolver() {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setViewClass(JstlView.class);
            resolver.setPrefix("/jsp");
            resolver.setSuffix(".jsp");
            return resolver;
        }
    
        @Bean
        public StandardServletMultipartResolver getStandardServletMultipartResolver() {
            return new StandardServletMultipartResolver();
        }
    }
    复制代码

    4.SwaggerUI页面访问

    http://localhost:8080/projectName/swagger-ui.html#!/
    复制代码
    展开全文
  • 如何创建弹出通过向元素添加 data-toggle="popover" 来创建弹出。title 属性的内容为弹出的标题,data-content 属性显示了...以下实例可以在文档的任何地方使用弹出:实例$(document).ready(function(){$('[...

    12ac018dd202b9e733299addba38e004.png

    如何创建弹出框

    通过向元素添加 data-toggle="popover" 来创建弹出框。

    title 属性的内容为弹出框的标题,data-content 属性显示了弹出框的文本内容:多次点我

    注意:弹出框要写在 jQuery 的初始化代码里: 然后在指定的元素上调用 popover() 方法。

    以下实例可以在文档的任何地方使用弹出框:

    实例$(document).ready(function(){

    $('[data-toggle="popover"]').popover();

    });

    ea526947375434e6bce8714aa323f3d6.png

    指定弹出框的位置

    默认情况下弹出框显示在元素右侧。

    可以使用 data-placement 属性来设定弹出框显示的方向: top, bottom, left 或 right:

    实例点我

    点我

    点我

    点我

    ac5f7b36929fc98ef2014bab5c75611b.png

    关闭弹出框

    默认情况下,弹出框在再次点击指定元素后就会关闭,你可以使用 data-trigger="focus" 属性来设置在鼠标点击元素外部区域来关闭弹出框:

    实例

    点我

    2c62fc0816f0019e1efd6a27d84505a5.png

    提示:如果你想实现在鼠标移动到元素上显示,移除后消失的效果,可以使用 data-trigger 属性,并设置值为 "hover":

    实例鼠标移动到我这

    0ac258f5d90e6e2ec31ad8c40b7dbc65.png

    展开全文
  • Bootstrap4 提示

    2020-12-13 20:45:52
    Bootstrap4 提示 提示是一个小小的弹窗,在鼠标移动...以下实例可以在文档的任何地方使用提示: 实例 $(document).ready(function(){ $('[data-toggle="tooltip"]').tooltip(); }); 指定提示的位置 默认情
  • Bootstrap4 弹出

    2020-12-13 23:48:26
    Bootstrap4 弹出 弹出控件类似于提示,它在鼠标点击到元素后显示,与提示不同的是它可以显示...以下实例可以在文档的任何地方使用弹出: 实例 $(document).ready(function(){ $('[data-toggle="popover"]'
  • 根据官方文档的解释,tox是一个管理测试虚拟环境的命令行工具,可以支持穿件隔离的python环境,里面可以安装不同版本的python解释器和项目的各种依赖库,可以进行自动化测试、打包以及持续集成。 tox能做什么 –...

    什么是tox

    tox官方文档的第一句话 standardize testing in Python,意思就是说标准化python中的测试,那是不是很适合测试人员来使用呢,我们来看看他究竟是什么?

    根据官方文档的解释,tox是一个管理测试虚拟环境的命令行工具,可以支持穿件隔离的python环境,在里面可以安装不同版本的python解释器和项目的各种依赖库,可以进行自动化测试、打包以及持续集成。

    tox能做什么
    在这里插入图片描述
    –创建测试虚拟环境
    –运行静态代码分析与测试工具
    –自动化构建包
    –针对 tox 构建的软件包运行测试
    –检查软件包是否能在不同的 Python 版本/解释器中顺利安装
    –统一持续集成(CI)和基于命令行的测试

    怎么配置tox

    安装tox
    使用 pip install tox 安装,在命令行执行tox -e envname运行指定的测试环境

    tox配置
    tox的行为既可以通过命令行来控制也可以通过配置文件进行控制,支持有以下三种形式的配置文件

    pyproject.toml

    tox.ini

    setup.cfg

    什么是tox
    tox官方文档的第一句话 standardize testing in Python,意思就是说标准化python中的测试,那是不是很适合测试人员来使用呢,我们来看看他究竟是什么?

    根据官方文档的解释,tox是一个管理测试虚拟环境的命令行工具,可以支持穿件隔离的python环境,在里面可以安装不同版本的python解释器和项目的各种依赖库,可以进行自动化测试、打包以及持续集成。

    tox能做什么

    创建测试虚拟环境
    运行静态代码分析与测试工具
    自动化构建包
    针对 tox 构建的软件包运行测试
    检查软件包是否能在不同的 Python 版本/解释器中顺利安装
    统一持续集成(CI)和基于命令行的测试
    怎么配置tox
    安装tox
    使用 pip install tox 安装,在命令行执行tox -e envname运行指定的测试环境

    tox配置
    tox的行为既可以通过命令行来控制也可以通过配置文件进行控制,支持有以下三种形式的配置文件

    pyproject.toml

    tox.ini

    setup.cfg

    创建测试虚拟环境
    运行静态代码分析与测试工具
    自动化构建包
    针对 tox 构建的软件包运行测试
    检查软件包是否能在不同的 Python 版本/解释器中顺利安装
    统一持续集成(CI)和基于命令行的测试
    怎么配置tox
    安装tox
    使用 pip install tox 安装,在命令行执行tox -e envname运行指定的测试环境
    
    tox配置
    tox的行为既可以通过命令行来控制也可以通过配置文件进行控制,支持有以下三种形式的配置文件
    
    pyproject.toml
    
    tox.ini
    
    setup.cfg
    
    什么是tox
    tox官方文档的第一句话 standardize testing in Python,意思就是说标准化python中的测试,那是不是很适合测试人员来使用呢,我们来看看他究竟是什么?
    
    根据官方文档的解释,tox是一个管理测试虚拟环境的命令行工具,可以支持穿件隔离的python环境,在里面可以安装不同版本的python解释器和项目的各种依赖库,可以进行自动化测试、打包以及持续集成。
    
    tox能做什么
    
    
    
    创建测试虚拟环境
    运行静态代码分析与测试工具
    自动化构建包
    针对 tox 构建的软件包运行测试
    检查软件包是否能在不同的 Python 版本/解释器中顺利安装
    统一持续集成(CI)和基于命令行的测试
    怎么配置tox
    安装tox
    使用 pip install tox 安装,在命令行执行tox -e envname运行指定的测试环境
    
    tox配置
    tox的行为既可以通过命令行来控制也可以通过配置文件进行控制,支持有以下三种形式的配置文件
    
    pyproject.toml
    
    tox.ini
    
    setup.cfg
    

    以上配置解释如下:

    –[tox]节点是对tox进行配置
    envlist指定环境列表,多个环境用逗号隔开,比如py36,py37

    skipsdist 指定tox在运行过程中跳过打包环节,因为当前这个项目没有打包的需求,所以这里设置为true,这个和自动化测试框架的设计有关。

    –indexserver 指定pip的安装源

    [testenv]节点是对测试环境进行配置,这个是根测试环境的配置,下面还可以对不同的测试环境进行配置,都可以继承这个节点
    deps 指定项目的python依赖的第三方包

    –install_command 定义pip安装命令参数

    [testenv:dev]这个节点是定义测试环境,继承根环境配置
    setenv 设置环境变量,在项目中可以读取环境变量,从而决定要运行哪个环境的配置,比如tox -e dev,意思就是说在测试环境运行测试用例,tox -e prod在生产环境运行测试用例

    commands 指定pytest的运行方式,其他环境的节点配置与此相似。

    -[-pytest]节点可以对pytest进行配置
    –addopts 指定pytest的命令行参数
    –xfail_strict 设置预期失败的case如果通过了,则标记为失败
    –minversion 指定tox的最小版本
    –norecursedirs 指定哪些目录不用递归查找测试用例
    –testpaths 指定测试用例的搜索目录
    –python_classes 指定测试用例的搜索规则
    当然以上的配置只是tox一部分,还有很多,关注公众号【程序员张无忌】

    tox项目实战

    下面我们以 tox、pytest打造一个自动化测试框架

    项目搭建
    新建一个api-auto-test文件夹,在文件夹里添加一个tox.ini文件,输入上面的配置

    再分别新建一个src和tests目录,src用于存放封装的一些共有的内容,tests用于存放测试用例

    src目录内容如下在这里插入图片描述
    ad和biz是对不同业务进行的封装,里面包括接口调用以及数据库相关操作

    common是各个业务模块公共的部分,包括请求发送、数据库链接基础操作封装、配置等,主要来看一下config的里的内容:

    class Config:
      '''公共配置'''
    
    class DevConfig(Config):
      '''测试环境配置'''
    
    class ProdConfig(Config):
      '''生产环境配置'''
      
      
    # 环境切换  
    _MAPPING = {
        'dev': DevConfig,
        't1': T1Config,
        'pro': ProConfig,
    }
    # 这里根据tox设置的环境变量,来决定使用哪一个环境的配置,从而实现不同环境环境的切换 config = _MAPPING.get(os.getenv("env"), DevConf
    

    运行测试用例

    tox -e dev
    在这里插入图片描述
    在这里插入图片描述
    以上是执行过程以及测试结果,会生成junit.xml格式的测试报告,当然也可以使用pytest-html或者其他测试报告,都很方便。

    如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,欢迎关注【程序员张无忌】,公

    展开全文
  • 4、桌面创建.txt文档,里面输入代码 注意:文档名必须与类名一直 5、将文件格式改成.java 并命令输入javac Hello.java ,出现下图,证明编译成功! 6、运行程序 java Hello 总结: javac :编译
  • 摘要:本文通过一个程序实例描述了在VC++6.0下如何在文档程序中通过菜单动态控制多 个窗体的切换。 <br> 一、 引言 <br> 我们在编制程序中根据需求的不同会在程序风格上选择多文档、单文档或是...
  • 关于IDEA中创建springboot+security+jpa

    千次阅读 2017-08-13 15:18:43
    首先本文章不会分析框架的底层代码只是帮助小白快速搭建项目,因为官方文档都写的明明白白,其中spring Security安全框架可能有部分小白看不懂官方文档 推荐看:spring Security 里面有比较详细的框架分析 废话不多...
  • 并为给出创建对话框之后 并为给出如何用户获取对话框中做出选择后的数据 即如何监听用户做出的选择 接下来笔者将根据JavaDoc API文档引导读者详细的了解提示对话框 文本框对话框 简单列表对话框 单选项列表对话框 ...
  • 如何在下拉框显示上几次程序运行的输入信息 如何改变对话框DoModal的返回值 怎样弹出选择目录的对话框 第4章 一般窗口及界面设计 如何设定窗口的背景色 如何生成任意形状的窗体 如何实现无标题窗口的拖动 如何使...
  • spring chm文档

    热门讨论 2009-04-08 14:23:19
    12.2.2. Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7...
  • Spring中文帮助文档

    热门讨论 2013-08-05 14:40:17
    2.4.1. XML更为简单的声明性事务配置 2.4.2. 对Websphere 事务管理的完整支持 2.4.3. JPA 2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于...
  • 《SpringBoot 中间件设计和开发》 专栏介绍文档 ⛳目录 重点说明 (源码授权以及失败解决方案) 作者介绍 小册内容 中间件设计和实现列表 你会学到什么? 适宜人群 小册购买优惠 收尾感谢 重点说明 专栏地址:...
  • ◆容器——Spring包含并管理应用对象的配置和生命周期,这个意义上它是一种容器,你可以配置你的每个bean如何创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一...
  • Code Compl 代码大全

    2011-05-26 12:09:22
     8.7 确定产品代码中该保留多少防范式代码  8.8 防范式编程时保持防范  其他资源  关键点  第9章 伪代码编程过程  9.1 创建类和子程序的步骤概述  创建一个类的步骤  创建子程序的步骤  9.2 伪代码  9.3...
  •  Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
  • kraken-js 是基于express之上的,目的在于让工程师更多的去关注代码逻辑,少关注自身的开发环境,所以他将express所有的一些公用的配置都写了配置文件里面了。暴露给开发者的很少。下面来看看kraken-js 源码,分析...
  • 主程序目录,找到 Setting.ini 这是 EditPlus 存放语法的文件 查找后缀为“.stx”、“acp”的文本内容,或者查找带有驱动器符号的行,比如 Syntax file=C:\Program Files\EditPlus 2\cpp.stx 那么,就把”C:\...
  • 9.6.2 同一个表格拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的基本使用 10.1.1 创建一棵树 10.1.2 为树生枝展叶 10.1.3 树形的配置 10.1.4 使用...
  • 9.6.2 同一个表格拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的基本使用 10.1.1 创建一棵树 10.1.2 为树生枝展叶 10.1.3 树形的配置 10.1.4 使用...
  • 做一个JAVA通讯录,想请问一下如何把这个TXT文档 超过20行分页显示,请前辈们多多指教,谢谢 方便的话请帮我写一下代码看看行吗 package MyAddBook; import java.awt.Choice;//选择 import java.awt....
  • 超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...
  • vss如何使用(图解)

    热门讨论 2011-04-25 15:10:48
    从“文件”菜单中,单击“打开 SourceSafe 数据库”,然后列表中选择一个数据库。 可以使用此命令从其他人已经创建的 Visual SourceSafe 项目中选择一个现有的数据库。这样您就可以使用由他人建立的多开发人员...
  • oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
  • 无论是代码文档,错误报告,项目管理,设计还是财务捐赠,我们的回馈都会有所作为。 北卡罗来纳大学教堂山分校一间宿舍的四个学生想改变人们的在线捐赠方式。 他们的任务是彻底改变人们回馈和重塑慈善传统观念...
  • 基本socket编程,介绍socket编程的基本步骤,启动socket服务器后,打开socket的客户端,输入框输入消息发送到服务器,服务器受到消息后返回给客户端; Http服务器,httpsever.java; 一个支持多线程的服务器...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 267
精华内容 106
关键字:

如何在文档里创建代码框