Swagger入门教程(六)

因为本套课程使用Maven包管理工具构建,所以在集成SwaggerCodegen时我们需要如下两个步骤:

这里我将依赖放到了下方,同学们可以直接拷贝:

io.swaggerswagger-codegen-maven-plugin2.4.14等待编辑器下载完成后,没有任何依赖报错,就说明我们已经将SwaggerCodegen的依赖引入到了SpringBoot中去。

我们知道,SwaggerCodegen主要的作用,就是生成服务端和客户端的完整代码文件,所以,在将SwaggerCodegen集成到SpringBoot中后,我们首先需要做的就是,对生成服务端和客户端的代码进行规则配置,即我们都需要生成什么样的服务端和客户端代码。

配置服务端和客户端的代码生成规则叫繁琐,所以我们选择常用的几个属性来进行演示。

swagger:'2.0'info:title:IMoocSwagger-WikiAPIdescription:Swagger-WikiAPIversion:1.0.0paths:/imooct/wiki/swagger:get:tags:-wikioperationId:getImoocLessonparameters:-name:rangein:querytype:stringrequired:true-name:lessonNamein:querytype:stringrequired:true-name:lessonTypein:querytype:stringresponses:'200':description:OKschema:$ref:'#/definitions/GetImoocLessonResponse'default:description:defaultschema:$ref:'#/definitions/ErrorResponse'对于以上所使用的属性我们会在本节的后半部分进行详细介绍,这里大家可以先做简单的了解即可。

{"apiPackage":"com.imooc.wiki.swagger.api","artifactId":"cmp-imooc-steafan-service","basePackage":"com.steafan.imooc.server","configPackage":"com.steafan.imooc.server.config","dateLibrary":"java8","delegatePattern":true,"groupId":"com.steafan.imooc","hideGenerationTimestamp":true,"java8":true,"language":"spring-boot","modelPackage":"com.imooc.wiki.swagger.api"}代码解释:

完成上述配置之后,我们就可以使用SwaggerCodegen来生成服务端和客户端代码。

在将SwaggerCodegen的依赖引入到SpringBoot中去后,我们就可以使用Maven自带的命令来将上述配置信息分别生成服务端和客户端代码,命令如下:

首先,将上述配置好的文件利用SwaggerCodegen来生成服务端和客户端代码

java-jarswagger-codegen-cli.jargenerate-iswagger.yaml-cswaggerConfig.json-lspring-oserver代码解释:

第一行,使用generate命令来将配置在swagger.yaml文件中的服务端代码进行生成。

第一行,使用-c参数,表明使用json配置文件,并且该配置文件的名称为swaggerConfig.json。

第二行,使用-l参数,表明客户端所使用的语言为spring。

第二行,使用-o参数来指定代码最终的存放位置,server表示将生成的代码存放到名为server的文件夹下。

然后我们使用cd命令来进到我们生成代码后所存放的目录:

cdserver最后我们将生成的代码打成Jar包:

mvnpackage这是Maven自带的打包命令,执行该命令之后,Maven会默认读取项目中的pom文件中配置的打包规则,即packaging节点,如果该节点没有配置任何规则,则Maven会默认打成Jar包(这里我们配置了Jar)。

这样我们就可以在项目的target目录下,找到我们利用SwaggerCodegen所生成的服务端和客户端代码的Jar包了,我们可以把该Jar包放到其他环境中使用,也可以供其他项目使用,这就是我们利用SwaggerCodegen所生成的服务端和客户端代码的最终使用目的。

我们针对以上服务端配置的规则来介绍一下在SwaggerCodegen服务端中经常使用的一些属性,同学在了解了这些属性之后就可以使用SwaggerCodegen进行一些服务端代码的生成工作了。

swagger:'2.0'info:title:IMoocSwagger-WikiAPIdescription:Swagger-WikiAPIversion:1.0.0paths:/imooct/wiki/swagger:get:tags:-wikioperationId:getImoocLessonparameters:-name:rangein:querytype:stringrequired:trueresponses:'200':description:OKschema:$ref:'#/definitions/GetImoocLessonResponse'代码解释:

swagger:指名生成的服务端代码所使用的Swagger管理版本,这里只能写2.0。

info:表示SwaggerCodegen所生成的服务端代码的一些基本描述信息,上述包括title(头信息)、description(文档描述)、version(文档版本)。

paths:表示具体一个接口的路径信息。

tags:表示该接口所属的分组。

operationId:表示该接口的名称。

parameters:表示该接口中的参数信息,上述包括name(参数名称)、in(参数用途)、type(参数类型)、required(参数是否必传,true表示参数必传,默认为false)。

responses:表示该接口的返回信息,这里的200表示接口返回状态码,description代表当接口返回状态码为200时的状态码描述信息,schema中的ref属性统一表示当该接口返回200时重定向的地址或接下来要发生的动作。

针对SwaggerCodegen中客户端代码的配置,在前面已经做了一些较为详细的介绍了,这里我就常用的客户端配置代码给上述内容做一个补充,同学们需要结合着来了解。

{"apiPackage":"com.imooc.wiki.swagger.api","artifactId":"cmp-imooc-steafan-service","groupId":"com.steafan.imooc","hideGenerationTimestamp":true,}代码解释:

apiPackage:表示需要生成的客户端代码的包位置。

artifactId、groupId:类似于Maven中的依赖坐标,这里表示所生成的客户端代码的坐标信息。

我们在生成服务端代码时,不能盲目生成,如果已经有写好的接口文档,那么我们需要按照这个接口文档进行编写和配置,如果没有写好的接口文档,那么我们需要和产品经理进行都次反复的沟通之后才能开始编写和配置服务端信息,这样可以在很大程度上减少服务端配置文件修改的次数,同时也可以提高服务端生成代码的准确性,这点同学们需要注意。

本小节从在SpringBoot中如何集成SwaggerCodegen出发,详细介绍了如何在SpringBoot中将SwaggerCodegen进行集成,以及在集成中容易出现的问题。在介绍完SwaggerCodegen集成SpringBoot之后,针对零基础的同学,老师将在SwaggerCodegen中使用的最多的属性单独拿出来做了介绍,旨在帮助同学们能够快速入门SwaggerCodegen。

各位同学在学习本小节内容时,希望各位可以跟着老师的节奏一行一行地把本小节中所将的代码都动手敲一下,这样可以加深自己对代码的理解程度,在实操时我们不能眼高手低,自己的实践结果才是最重要的。

大家好,今天为大家介绍SwaggerEditor。SwaggerEditor和SwaggerCodegen不同,SwaggerEditor适用于一切规模的项目,话不多说,咱们直入正题。

什么是SwaggerEditor呢?在Swagger官网中是这么介绍的:

SwaggerEditor是一个开源编辑器,我们可以在这个开源编辑器上设计、描述和记录我们的API信息,通过SwaggerEditor这个开源编辑器进行配置而生成的API是符合RESTFULAPI规范的,并且SwaggerEditor这款开源编辑器支持Swagger2.0版本和RESTFULAPI3.0版本。—官网

注意:这里提到的OpenAPI其实就是我们所谓的RESTFULAPI规范,关于RESTFULAPI规范我们已经在Swagger简介这一小节中做了详细的介绍,有不清楚的同学可以到该小节了解,这里不再赘述。

通过上面的介绍,说白了,SwaggerEditor就是一款提供了可以直接设计、描述和记录项目中所有的接口为RESTFULAPI文档的开源编辑器,可以帮助我们提升项目开发效率。

那么我们为什么要使用SwaggerEditor呢?

对于任何规模大小的项目而言,无论是小项目还是大项目,都会涉及到项目接口的开发,而对于项目接口的管理,最常见的就是根据项目接口内容撰写项目接口文档,但是这种方式有一种显而易见的弊端。

当项目中接口开发的需求发生变化时,根据项目管理规范,我们需要首先修改之前撰写好的相应的接口文档,由于种种原因,导致我们的修改时机很慢而不能及时支撑该接口的修改交付工作,这就会产生冲突,就会不得已先进行接口的修改,后续再来修改接口文档了。

针对上述类似问题,如果我们使用SwaggerEditor来对接口进行维护,就会大大降低这种问题出现的概率。

SwaggerEditor提供了强大的配置文件类型,例如我们熟知的yml配置源文件和少数的json配置源文件,针对这两种配置文件,SwaggerEditor内置了丰富的RESTFULAPI属性,开发人员可以直接使用这些属性来描述项目中的接口信息,不需要专门再将接口修改为符合RESTFULAPI规范而发愁了。

在第一章中,当我们在项目中集成了Swagger框架之后,运行项目之后会为我们生成Swagger-ui界面,我们都知道这个界面还是相对美观一些的,我们也可以直接在这个界面上浏览接口和其他信息。

SwaggerEditor在配置好之后的生成界面几乎是和Swagger-ui界面是一模一样的,而且SwaggerEditor的生成界面允许我们边修改配置信息边查看修改结果,可以实时看到我们的修改结果。

这就表明,如果我们项目中的接口需求发生了变动,我们可以直接在SwaggerEditor中修改相应的配置信息,并且可以实时看到修改结果,这对开发人员来说是一个’福音’。

学习SwaggerEditor这个工具和SwaggerCodegen一样,需要大家真实开发过项目并且对项目进行过简单的配置,并且使用的是Java7或以上的JDK版本。

如果你是一名后端开发人员,那么相信你在学习SwaggerEditor时会信手拈来。

SwaggerEditor其实就是一款可以为项目中的接口生成RESTFULAPI规范界面的开源工具,其完善的RESTFULAPI生成机制和美观的界面显示效果可以在提升项目接口的维护效率的同时增强接口文档的交互性,这也是SwaggerEditor的核心魅力。

本节会为大家介绍如何在当下主流操作系统中安装SwaggerEditor开源API配置工具。

基于Node环境来安装SwaggerEditor,是SwaggerEditor官方推荐使用的第一种方式,通过Node来安装SwaggerEditor,无论是Windows系统还是OSX系统,都要求电脑中首先要有Node,如果你的电脑中还没有Node环境,那么请先安装Node。

我们使用一下命令来在Node环境中安装HttpServer服务器:

基于Docker环境来安装SwaggerEditor是SwaggerEditor官方提供的第二种方式,同样地,想在Docker中安装SwaggerEditor,需要电脑中首先要有Docker环境。

众所周知,Docker是一个容器服务,其是通过提供众多工具的镜像文件来将对应的服务集成到容器中,而且Docker官方整理了全球主流工具的镜像文件,并且将其放到了DockerHub上面。

所以,要想在Docker中安装SwaggerEditor,我们首先需要从Docker官方的DockerHub上面将SwaggerEditor的镜像文件拉取(下载)下来,在Docker容器中命令如下:

dockerpullswaggerapi/swagger-editor运行以上指令,等待SwaggerEditor的镜像文件拉取完毕。

在SwaggerEditor镜像拉取完毕之后,我们可以直接运行该镜像文件,如果运行成功,则表明SwaggerEditor在Docker环境中已经安装成功,运行SwaggerEditor镜像文件的命令如下:

dockerrun-d-p80:8080swaggerapi/swagger-editor代码解释:

dockerrun-d-p为固定写法,同学们目前不用知道表示什么意思,只需要知道这是运行镜像文件的固定命令即可。

80:8080表示将Docker容器中的SwaggerEditor服务映射到我们本机的80端口上,

swaggerapi/swagger-editor表明我们所运行的镜像文件的名称。

在运行SwaggerEditor服务时,如果已经提供了json文件,那么我们可以使用以下命令进行启动,从而修改该json文件:

dockerrun-d-p80:8080-v$(pwd):/tmp-eSWAGGER_FILE=/tmp/swagger.jsonswaggerapi/swagger-editor在运行上述指令后,我们等待SwaggerEditor镜像文件在Docker容器中运行完毕即可。

无论使用哪种环境安装的SwaggerEditor,检测安装是否成功的标志已经在上述内容中提及,接下来我们需要做的是访问我们已经安装并运行的SwaggerEditor服务。

一般而言,当我们的SwaggerEditor服务启动之后,可以通过以下方式来访问:

Tips:

5.小结

在安装SwaggerEditor时,由于用到了Node环境和Docker环境,所以需要同学们先了解一下上述环境的基本使用方法,这样才可以随心应手的使用SwaggerEditor。

因为本套课程使用Maven包管理工具构建,所以在集成之前需要我们先将SwaggerEditor的依赖引入到项目中去,但是很不幸,SwaggerEditor官方并没有提供对Maven的支持,所以我们就不能通过Maven的方式将SwaggerEditor集成进来。

难道就没有办法将SwaggerEditor与SpringBoot结合使用了吗?

俗话说,方法总比困难多,所以这里我们另辟蹊径,通过使用配置yml文件的方式将SwaggerEditor集成进来,话不多说,我们直入正题。

我们都知道,在SpringBoot项目中,一般的项目配置文件是如下图所示的applicaiton.properties文件:

applicaiton.properties文件是传统的项目配置文件,无论使用Spring的哪种框架,我们都可以在项目中使用applicaiton.properties文件,但是这种文件有一种弊端,就是我们项目的配置信息在该文件中显示的有点乱,不利于开发人员维护,通常一行配置语句会显得很长,降低了项目配置文件的可阅读性。

正如此,在经过时代变迁之后,终于迎来了YAML配置源文件的到来,YAML文件不单单只是一种平台上的配置源文件,他可以支持Java、Python、PHP等主流语言使用,并且各种语言平台都有对应的转换配置语法对应关系表,编写起来简单方便,且利于阅读。

将applicaiton.properties文件修改为YMAL配置源文件的方式非常简单,我们只需要将applicaiton.properties文件的后缀.properties修改为.yml就可以了。

在修改完之后,我们就不能使用applicaiton.properties文件的语法了,我们需要使用YMAL配置源文件的语法才行。

在集成SwaggerEditor到SpringBoot中时,为什么我们需要将SpringBoot项目的配置文件applicaiton.properties来修改成YAML配置源文件呢?这是因为我们的SwaggerEditor只支持以.yml文件格式结尾的配置文件来编写SwaggerEditor,这也是我一再强调YAML配置源文件的原因。

在修改好配置源文件之后,接下来我们需要编写配置源文件,并且在编写完配置源文件之后,我们需要将该配置源文件进行重命名,重命名的规则一般都是项目名称+SwaggerEditor+配置源文件版本号。

SwaggerEditor的配置源文件我们在SpringBoot集成SwaggerCodegen小节中做了简短的介绍:就是我们在配置SwaggerCodegen服务端代码生成规则那里的服务端代码其实就是SwaggerEditor配置源文件的一部分,也就是说SwaggerCodegen服务端的代码生成规则是通过SwaggerEditor配置源文件来实现的。

所以,在掌握了SwaggerEditor的基本语法和使用技巧之后,我们就可以在编写好SwaggerEditor配置源文件之后来生成我们项目的服务端代码,可谓是一举两得,这也是Swagger官方为我们所考虑的一方面。

接下来我们通过SwaggerEditor官方的Demo来为大家配置SwaggerEditor。

SwaggerEditor基本配置信息

paths:/pet:post:tags:-"pet"summary:"Addanewpettothestore"description:""operationId:"addPet"consumes:"application/json""application/xml"produces:"application/xml""application/json"parameters:in:"body"name:"body"description:"Petobjectthatneedstobeaddedtothestore"required:trueschema:$ref:"#/definitions/Pet"responses:"405":description:"Invalidinput"对于以上所使用的属性我们会在本节的后半部分进行详细介绍,这里大家可以先做简单的了解即可。

在配置好SwaggerEditor基本配置信息和SwaggerEditor接口配置信息之后,我们就可以在项目中生成Swagger-UI界面了。

接下来,我们针对上述SwaggerEditor配置源文件中的属性来为大家介绍每个属性都代表什么意思,都用来做什么,以及在使用SwaggerEditor时的一些使用技巧和注意事项。

swagger:指名所使用的Swagger管理版本,这里只能写2.0。

info:表示SwaggerCodegen所生成的Swagger-UI界面的一些基本描述信息,上述包括title(头信息)、description(文档描述)、version(文档版本)、termsOfService(服务团队)、contact(联系人)、license(协议或条款)。

host:表示生成的Swagger-UI所在的主机,即Swagger-UI界面生成之后是放在什么位置的。

basePath:表示访问Swagger-UI生成界面的具体路径。

tags:表示对Swagger-UI文档中的接口进行分组。

tags-description:对接口分组添加描述信息。

tags-externalDocs:指定接口分组额外的说明文档,这里没有指定。

tags-url:表示对该接口分组添加额外的描述信息地址。

由于篇幅有限,SwaggerEditor接口配置信息部分的属性介绍在SpringBoot集成SwaggerCodegen这一小节中有详细的说明,同学们可以去该小节了解。

我们在使用SwaggerEditor时,一般都是在没有借口文档的情况下进行,所以这就要求我们对接口所开展的业务有很清晰的了解才行。

在SwaggerEditor中,我们会对不同属性编写不同的描述信息,而涉及到名字的属性一定要注意,例如:title属性,在对这一类型属性进行描述时,我们应该根据项目需求文档来进行描述,不能自己随意起名字,只有按照项目需求文档来描述的SwaggerEditor属性才能说是准确的,是服务于当前项目的。

在集成SwaggerEditor时,还需要注意SwaggerEditor与SwaggerCodegen之间的共同点与不同点,注意区分和体会他们的应用场景和使用目的,这样在实际开发中才能根据不同场景来选择合适的工具来完成工作。

大家好,今天为大家介绍Swagger生态体系中的最后一部分内容-Swagger辅助工具。该部分内容主要介绍Swagger官方提供的辅助工具,他们分别是:Validator、Parser、Inflector。

本节主要内容如下:

什么是SwaggerValidator呢?在Swagger官网中是这么介绍的:

SwaggerValidator是一个Swagger验证器,用于验证你的Swagger文档。—官网

从图中我们可以看到,SwaggerValidator的显示界面非常类似于Swagger-UI的显示界面,风格和排版都很相似,那么我们应该怎么来用呢?

根据官方文档我们不难看出,SwaggerValidator就是一个校验Swagger文档的工具,那么我们应该怎么来用呢?

我们可以在上述截图中看到一个Validator字样的单词,在这个单词下放,是Swagger官方为我们提供的Swagger文档中接口请求规范,以及接口定义要求。

就是说,我们可以把我们编写的Swagger文档和SwaggerValidator官方校验界面做一个比较,看一下是否符合SwaggerValidator官方的要求,校验的范围就包括:接口请求定义是否符合规范、接口返回值是否符合规范等,而进行校验的方式就是通过对比Validator下的内容。

如果在校验后发现,我们的Swagger文档有部分内容不符合SwaggerValidator官方所展示的,那么我们就需要对这一部分进行修改,直至符合SwaggerValidator官方的要求才行。

什么是SwaggerParser呢?在Swagger官网中是这么介绍的:

SwaggerParser是可以将Java项目中的POJO文件都解析成符合OpenAPI规范的类,同时它也提供了一个简单的框架来将不同平台的POJO文件都转换为统一的Swagger对象,来使整个Swagger工具链变得可用。—官网

我们可以这样简单的理解:SwaggerParser是专门服务于POJO文件的一个工具包,他可以将来自不同平台中的不符合OpenAPI规范的POJO文件都解析成符合统一规范的格式,使得我们在任何平台上都可以正常的使用Swagger。

由于Maven官方提供了对SwaggerParser的支持,所以我们只要将SwaggerParser的Maven依赖引入到我们项目中去就可以使用了:

io.swagger.parser.v3swagger-parser2.0.20通过配置以下代码我们就可以来读取符合OpenAPI规范的文件了:

SwaggerInflector是可以使用Swagger规范去驱动一种API的实现,并且你拥有全部的权限在实现过程中进行修改。—官网

也就是说,SwaggerInflector是一款可以使用Swagger规范去生成符合Swagger规范的API工具,并且可以在实现过程中针对不符合规范的地方进行完全的修改,最后使之符合Swagger的规范。

由于SwaggerInflector的使用相对非常少,并且如果想使用SwaggerInflector,那么你的项目就必须使用一种框架才能将SwaggerInflector集成进去,这个框架就是Jersey。

关于Jersey,这里就不多说了,大家只需要这是一款小众框架就行了,现在没有完全被淘汰,还有很多小公司仍在使用。

那么,在将Jersey集成好之后,我们就可以在Jersey生成的web.xml文件中添加如下配置来使用SwaggerInflector了:

swagger-inflectororg.glassfish.jersey.servlet.ServletContainerjavax.ws.rs.Applicationio.swagger.oas.inflector.OpenAPIInflector1swagger-inflector/*Tips:

我们在学习SwaggerValidator、Parser、Inflector时一定要注意他们的适用场景,区分他们之间的共同点和不同点,在学习本节内容时自己可以动手实践一下,这样才能更好地掌握。

SwaggerValidator、Parser、Inflector这三款辅助工具的介绍作为Swagger整套课程体系的最后一节内容,老师从他们的不同使用业务场景出发,介绍了他们最简单的使用方法,希望通过本节内容的介绍,同学们可以对这三款辅助工具有一个新的认识。

同学们,写到这里,Swagger系统知识点就给各位介绍完毕了,在这中间感谢各位的支持,江湖路远,我们有缘再见!

THE END
1.首页公开公示项目申报在线服务监督评估伦理登记平台查看当前申报计划一览表。根据申报指南要求确定申报专项、技术方向等。 尚未在服务平台注册的单位,请进入“在线服务”页面点击“单位备案”完成注册。 注册信息通过审核后,以单位管理员账号登录系统,创建填报用户,进入“新项目申请”模块,授权该用户填报。 1、单位管理员创建项目 https://service.most.gov.cn/xmtj/?type=sbsm
2.基于JSP的高校科研项目信息管理系统设计与实现本系统相对于我查阅到的其他高校科研项目信息管理系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。 本系统在技术层面具有如下优点:第一,用java实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是Spring Boot框架,该框https://blog.csdn.net/yh1340327157/article/details/144395950
3.meta动态生成javamob649e8154b5bf的技术博客尽管示例相对简单,但它为更复杂的动态代码生成奠定了基础。你可以扩展这个概念,考虑生成更复杂的类,包括多个属性、方法以及遵循设计模式。 动态生成代码不仅可以提高开发效率,还能够满足不同行业的特定需求。希望这篇文章能够帮助你理解动态生成 Java 代码的基本过程和实现方法。祝你在编程的道路上越走越远!https://blog.51cto.com/u_16175435/12795711
4.关于2024年广西科技计划项目进展报告填写事项的通知通知公告各单位、部门: 根据广西科技计划项目管理的相关规定,为做好2024年广西科技计划项目(简称项目)进展报告有关填写事项,现将具体要求通知如下:一、填报要求 1.所有在研及到期项目(部分到期项目会要求补执行报告)的负责人,请登录广西科技管理信息平台(http://gkg.kjhttps://www.gxtcmu.edu.cn/kjc/tzgg/content_76701
5.杭州数跑科技申请预览视图生成方法专利,提高开发效率调用插件金融界2024年12月4日消息,国家知识产权局信息显示,杭州数跑科技有限公司申请一项名为“预览视图的生成方法、装置及电子设备”的专利,公开号 CN 119065667 A,申请日期为 2024 年 7 月。 专利摘要显示,本申请提出了一种预览视图的生成方法、装置及电子设备,涉及大数据技术领域,其中,方法包括:Android Studio 插件获取预https://www.163.com/dy/article/JIJBFIGN0519QIKK.html
6.软件测试面试必杀篇:2024软件测试面试八股文宝典72、 HTTP的超时有哪三种? 73、 在什么地方设置HTTP页面filter? 74、 如何设置可以让一个虚拟IP对应到一个Vuser? 75、 ≈什么是contentcheck?如何来用? 76、 network中的speed simulation是模拟的什么带宽? 77、 生成WEB性能图有什么意义?大概描述即可。 https://maimai.cn/article/detail?fid=1834543922&efid=hd_N8vt67RYeT16kXOYD4Q
7.财务会计总账EASCloudV8.62、生成的冲销凭证可以是提交状态,参数reverseSubmit=true。 3、冲销成功的话,结果会返回冲销凭证的id(key为reverseSubmit),冲销凭证的编码(key为reverseVoucherNumber)。 4、该修改回迁到了主干,88 提单号:无 功能点:基础资料查询接口 应用场景:查询核算项目类型 https://vip.kingdee.com/article/428504861009549056
8.topor日志topor的个人空间Offline 模式在类被加载前,加入字节码。 On the fly 模式比较方便,缺点也比较明显,如它不能为被 boot class loader 加载的类生成覆盖率报告,也不能为像 J2EE 容器那种自己有独特 class loader 的类生成覆盖率报告。这时,我们能求助于 Offline 模式。 http://www.51testing.com/html/62/115462-type-blog.html
9.国铁商城企业在商城上产生订单进入到结算阶段时,需要通过企业复审,才能进入到铁路财务结算系统,建议企业及时查看企业认证的初审和复审情况,确保通过。 随机码常见问题 1. 平台目前有几种登陆方式?有什么区别? 方式 权限 操作 手机登录 只能查看公告和进行变更操作 输入手机号、密码和短信验证码登录 随机码登录 可https://mall.95306.cn/mall-view/noticeRe?id=17
10.什么是WebStormWebStorm简介WebStorm的优势以及应用嘲WebStorm的调试器支持自定义调试配置,可以根据项目需要进行调试设置。 WebStorm的插件和扩展功能如何使用? 打开插件窗口 在WebStorm的菜单栏中选择File -> Settings,打开WebStorm的设置窗口。 选择插件 在设置窗口中选择Plugins,可以查看已安装的插件和可用的插件。 https://cloud.tencent.com/developer/techpedia/1852
11.数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xg项目链接以及码源见文末 1.1 数据介绍 赛题以预测用户贷款是否违约为任务,数据集报名后可见并可下载,该数据来自某信贷平台的贷款记录,总数据量超过 120w,包含 47 列变量信息,其中 15 列为匿名变量。为了保证比赛的公平性,将会从中抽取 80 万条作为训练集,20 万条作为测试集 A,20 万条作为测试集 B,同时会对https://xie.infoq.cn/article/4d588ac3a87184aaf67ae0a2a
12.ARouter开源框架详解从而实现路由表的初始化注入的,但是这种方式的效率太低的,需要遍历项目中的所有类,并提取出路由表生成的相关类,但这个模块通过gradle-plugin插件技术(grovvy)和ASM字节码生成技术实现在打包生成apk时,在LogisticsCenter类的loadRouterMap()函数动态添加生成的路由类的注入的代码,从而实现项目路由表、拦截器等信息的初始化https://www.jianshu.com/p/0e5e3ed15e01
13.IntelliJIDEAUltimate2023中文破解JetBrainsInt对于刚接触IntelliJ IDEA和编码的用户,我们引入了打开包含示例代码与入门提示的新项目的选项。在New Project(新建项目)向导中,选中Generate code with onboarding tips(使用入门提示生成代码)获得基本沙盒项目,其中包含演示IDE基本功能的提示。遵循这个小指南,用户可以尝试Search Everywhere(随处搜索)功能、应用快速修复、运行http://www.sd173.com/soft/11969.html
14.php随机生成4位短信验证码短信API接口短信发送平台php随机生成4位短信验证码开发教程 1、免费注册短信账号 互亿无线短信平台会员免费注册(平台将自动免费向每位会员赠送测试短信) 2、短信发送逻辑 短信业务流程说明 3、查看短信API接口文档 登录互亿无线短信平台可以查看短信发送功能使用向导,查看API接口文档。 https://www.ihuyi.com/citiao/detail/5/phpsuijishengcheng4weiduanxinyanzhengma.html
15.若依ruoyi框架整合magicapi增删改查Demo{/*** 构建请求结果* @param requestEntity 请求相关信息* @param code 状态码* @param message 状态说明* @param data 数据内容,可以通过data的类型判断是否是分页结果进行区分普通结果集和分页结果集* @return*/@OverridepublicObjectbuildResult(RequestEntityrequestEntity,intcode,Stringmessage,Objectdata) {// https://developer.aliyun.com/article/972051
16.git和gerrit技巧大型项目实战总结&CR经验本文是站在别人的 commit 上去 merge 和 patch 我自己独具特色的理解,从而生成一个更好的 commit ,然后留给大家日后更好的 merge 和 patch ,技术在一次次 patch 中不断进步。 开门见山 在实际项目开发中,能灵活的使用 git 和 gerrit 是一个很重要的事情,一方面可以提高团队开发效率,另一方面可以把控项目的代码https://www.eet-china.com/mp/a312145.html
17.新华三在《新华三2023十大技术趋势白皮书》中,我们寻找到中国经济高质量发展的更多脉络,在客观的“必然性”和“随机性”中,以躬耕者与体验者双重身份,在数字中国增添属于自己的一笔,为人们的美好生活,注入确定性的力量。 了解更多 数字化领航 城市发展指数 十大技术趋势 https://www.h3c.com/
18.叮当科技码里云官网叮当科技为客户提供装饰项目全生命周期的数字化解决方案,是以装饰工程领域专业应用为核心支撑,提供产业大数据增值服务的数字装饰平台服务商。主要是提供工程项目成本管理系统、工程项目材料管理系统、工程项目进度管理系统、工地劳务管理系统、工地考勤管理系统、装修施工http://maliyun.cn/
19.接口测试1、断言响应状态码 名称: Status code: Code is 200 步骤: 1)在 Tests 标签中,选中 Status code: Code is 200,生成对应码 2)适当调整 test() 方法参数1,和 匿名函数中的预期结果 3)点击 send 按钮,发送请求,执行断言代码 4)查看断言结果 示例:断言响应状态码是否为200 https://www.go-soft.cn/news/cjwt/776.html
20.MyBatisGenerator使用过程中踩过的一个坑SpringBoot实战电商项目mall(20k+star)地址: 摘要 在使用MyBatis Generator生成代码的过程中,曾经遇到一个坑,每次生成mapper.xml的时候并不是直接覆盖原文件,而是在原文件中追加了新的内容,导致运行项目出错,本文主要讲解如何解决这个问题。 问题重现 示例代码 https://www.imooc.com/article/292348
21.ASP.NETCore适用于.NET的开源Web框架使用一个堆栈快速生成 Web 应用 ASP.NET Core 附带生成 Web 应用所需的一切内容,其中包括 Web UI 框架 Blazor,可用于快速创建在任何位置运行的快速、安全且可靠的 Web 应用。 详细了解 Blazor API 为一系列客户端(包括浏览器和移动设备)开发 REST API https://asp.net/