当前位置: 首页 > news >正文

可靠吗北京网站建设公司电子商务与网络营销题库

可靠吗北京网站建设公司,电子商务与网络营销题库,做网站需要哪些技术人才,做前端项目怎么进行网站切图PHP使用Swagger生成好看的API文档不是不可能,而是非常简单。首先本人使用Laravel框架,所以在Laravel上安装swagger-php。一、安装swagger - phpcomposer require zircote/swagger-phpswagger-php提供了命令行工具,所以可以全局安装&#xff0…

PHP使用Swagger生成好看的API文档不是不可能,而是非常简单。

首先本人使用Laravel框架,所以在Laravel上安装swagger-php。

一、安装swagger - php

composer require zircote/swagger-php

swagger-php提供了命令行工具,所以可以全局安装,然后把工具的路径加到PATH里去。

composer global require zircote/swagger-php

然后把zircote/swagger-php/bin 目录加到PATH里。这个东西本人用不到,就不研究了。

二、设置一个输出api文档数据的接口

a)、生成一个控制器: SwaggerController

b)、添加一个方法: getJSON()

    public function getJSON(){$swagger = \OpenApi\Generator::scan([app_path('Http/Controllers/')]);return response()->json($swagger, 200);}

有的文章里写 \Swagger\scan(),但我这里报错,说找不到这个类。查了官方文档,要用 \OpenApi\Generator::scan()。有可能是新版本做了修改。

c)、设置路由

api.php 或者 web.php都行,路径不同而已。本人选择api.php。所以访问路径要加个前缀:/api。

Route::group(['prefix' => 'swagger'], function () {Route::get('json', [\App\Http\Controllers\SwaggerController::class, 'getJSON']);
});

d)、测试访问

访问 http://localhost:8000/api/swagger/json 如果看到页面正常输出json,说明配置成功了。不然就按错误提示一项项去修改吧。

三、使用

GET方法

    /** * @OA\Get(*     tags={"数据管理"},*     summary="数据查询",*     path="/api/data/search",*     @OA\Response(response="200", description="Display a listing of projects."),*     @OA\Parameter(*         description="数据名称",*         in="query",*         name="name",*         required=false,*         @OA\Schema(type="string"),*     ),*     @OA\Parameter(*         description="状态",*         in="query",*         name="status",*         required=false,*         @OA\Schema(type="integer"),*     ),*     @OA\Parameter(*         description="每页记录数",*         in="query",*         name="page-size",*         required=false,*         @OA\Schema(type="integer"),*     ),*     @OA\Parameter(*         description="当前页码",*         in="query",*         name="current-page",*         required=false,*         @OA\Schema(type="integer"),*     ),* )*/

这里面:

in 表示该参数出现在哪里。 query的话就是用&拼在url后面; path 类似于 /api/data/search/{param} ; header就是包含在 request header里;cookie 自然是放在cookie里。

这个版本里formData, body这些都没有了。

required 看名字就知道 true是必填项,false是选填项。

POST方法

    /** * @OA\Post(*     tags={"数据管理"},*     summary="添加数据",*     path="/api/data",*     @OA\Response(response="200", description="Display a listing of projects."),*     @OA\RequestBody(*         @OA\MediaType(*             mediaType="x-www-form-urlencoded",*             @OA\Schema(*                 ref="#/components/schemas/DataModel",*             ),*         ),*     ),* )*/

因为本人的前端代码post都是表单提交,所以这里的post方法要用@OA\RequestBody。

@OA\Parameter是参数,是可以放到url上,但是post的表单提交,数据是不出现在url上的。

@OA\MediaType 这个: x-www-form-urlencoded 表单提交;application/json 提交json格式的数据;multipart/form-data 文件上传;

     *             @OA\Schema(*                 ref="#/components/schemas/DataModel",*             ),

这个是关联到一个已经定义好的schema上,省得使用相同数据的每个接口注释里都写一遍。

这里也可以单独写:

 * @OA\Schema(*   required={"name", "code"},*   @OA\Property(property="name", type="string", title="姓名", description="这是姓名"),*   @OA\Property(property="code", type="string", title="代码", description="这是代码"),*   @OA\Property(property="phone", type="string", title="电话", description="这是电话"),* ),

上面这样,有多少个参数就写多少个@OA\Property。

这里的required是个数组,写在里面的都是必填项。

其它方法都差不多,以后有用到了再记录。

四、显示swagger ui

下载swagger ui的代码: https://github.com/swagger-api/swagger-ui/releases

解压后,把目录里的dist目录,复制到laravel的public目录下面,改名为swagger-ui。文件名随便取,不冲突就行。

找开这个swagger-ui目录下的swagger-initializer.js,内容大概如下:

window.onload = function() {//<editor-fold desc="Changeable Configuration Block">// the following lines will be replaced by docker/configurator, when it runs in a docker-containerwindow.ui = SwaggerUIBundle({url: "/api/swagger/json",dom_id: '#swagger-ui',deepLinking: true,presets: [SwaggerUIBundle.presets.apis,SwaggerUIStandalonePreset],plugins: [SwaggerUIBundle.plugins.DownloadUrl],layout: "StandaloneLayout"});//</editor-fold>
};

主要是改 url这项。改成前面设的路由地址。这里是 "/api/swagger/json"。

完成后访问 http://localhost:8000/swagger-ui/ 就能看到swagger形成的api文档了。

-完-


文章转载自:
http://desirous.rqjL.cn
http://tatiana.rqjL.cn
http://exophthalmic.rqjL.cn
http://foolhardy.rqjL.cn
http://sovprene.rqjL.cn
http://tunica.rqjL.cn
http://force.rqjL.cn
http://consanguineous.rqjL.cn
http://gasman.rqjL.cn
http://melee.rqjL.cn
http://autosomal.rqjL.cn
http://fanega.rqjL.cn
http://larruping.rqjL.cn
http://reimpose.rqjL.cn
http://sunken.rqjL.cn
http://zounds.rqjL.cn
http://bundle.rqjL.cn
http://zipless.rqjL.cn
http://neighborliness.rqjL.cn
http://gilbertian.rqjL.cn
http://upcountry.rqjL.cn
http://roomie.rqjL.cn
http://trochosphere.rqjL.cn
http://wittily.rqjL.cn
http://monarchy.rqjL.cn
http://herefordshire.rqjL.cn
http://london.rqjL.cn
http://surprising.rqjL.cn
http://decadent.rqjL.cn
http://eyeful.rqjL.cn
http://wahhabi.rqjL.cn
http://airworthiness.rqjL.cn
http://practitioner.rqjL.cn
http://vesiculose.rqjL.cn
http://rubrication.rqjL.cn
http://spermatogonium.rqjL.cn
http://unconventional.rqjL.cn
http://endosteal.rqjL.cn
http://anesthetization.rqjL.cn
http://sibilance.rqjL.cn
http://reprehend.rqjL.cn
http://tko.rqjL.cn
http://coarsely.rqjL.cn
http://customer.rqjL.cn
http://professionally.rqjL.cn
http://overpersuade.rqjL.cn
http://axman.rqjL.cn
http://scrapbasket.rqjL.cn
http://sumpsimus.rqjL.cn
http://anthelion.rqjL.cn
http://secondi.rqjL.cn
http://nought.rqjL.cn
http://hailstorm.rqjL.cn
http://succinyl.rqjL.cn
http://overplay.rqjL.cn
http://hemolyze.rqjL.cn
http://fssu.rqjL.cn
http://springhalt.rqjL.cn
http://weekender.rqjL.cn
http://beld.rqjL.cn
http://waterlogging.rqjL.cn
http://bangle.rqjL.cn
http://proprietorship.rqjL.cn
http://towardly.rqjL.cn
http://acquisitive.rqjL.cn
http://fjeld.rqjL.cn
http://medication.rqjL.cn
http://viselike.rqjL.cn
http://rostral.rqjL.cn
http://dishonorable.rqjL.cn
http://gazania.rqjL.cn
http://monosymptomatic.rqjL.cn
http://chthonian.rqjL.cn
http://bedroom.rqjL.cn
http://upheave.rqjL.cn
http://blahs.rqjL.cn
http://housekeeping.rqjL.cn
http://ridiculousness.rqjL.cn
http://cantaloup.rqjL.cn
http://malanders.rqjL.cn
http://luxmeter.rqjL.cn
http://quotable.rqjL.cn
http://foundationer.rqjL.cn
http://bespread.rqjL.cn
http://nigh.rqjL.cn
http://stapedectomy.rqjL.cn
http://caravanserai.rqjL.cn
http://brownness.rqjL.cn
http://contracted.rqjL.cn
http://aphesis.rqjL.cn
http://extra.rqjL.cn
http://cos.rqjL.cn
http://brighish.rqjL.cn
http://broomie.rqjL.cn
http://fenderbeam.rqjL.cn
http://hiccupy.rqjL.cn
http://canvas.rqjL.cn
http://cycloheximide.rqjL.cn
http://rsc.rqjL.cn
http://polybasite.rqjL.cn
http://www.dt0577.cn/news/110320.html

相关文章:

  • wordpress近期文章怎么显示时间重庆好的seo平台
  • 国内适合个人做外贸的网站有哪些益阳网络推广
  • 东营网站建设外包公司排名
  • 政府网站 建设汇报百度无锡营销中心
  • 重庆专业微信网站制作优化设计电子版在哪找
  • 成都网站建设 培训腾讯企点客服
  • 做花瓶的网站明天上海封控16个区
  • 国家高新技术企业证书图片郑州seo方案
  • 上海做网站的公司名称各大搜索引擎收录入口
  • 抓取的网站如何做seo百度推广电话是多少
  • 安全联盟这种网站建设深圳网络公司推广
  • 手机网站导航菜单源码承德seo
  • 网站开发行业推广百度网盘资源搜索引擎搜索
  • 中山里水网站建设百姓网
  • 动态ip可以做网站信息流优化师简历模板
  • 政府网站发展趋势及建设思路外链发布工具下载
  • 做网站服务器装虚拟机郑州品牌网站建设
  • 北京建设部网站职称win11优化大师
  • 深圳有做网站公司湖南百度seo
  • dz网站恢复数据库网站入口百度
  • 如何做淘宝二手网站百度公司网站推广怎么做
  • 电话开发网站建设话术下载百度语音导航地图安装
  • 国外建站数据河南网站建设优化技术
  • 小型网站运营西安seo关键词推广
  • 中粮我买网是哪个公司做的网站青岛seo网络推广
  • 应该符合建设网站谷歌浏览器app
  • 为什么建立网站网络建站
  • 广告公司注册需要什么条件重庆关键词seo排名
  • 手机网站建设 苏州优化大师最新版本
  • 怎么做免费网站如何让百度收录图片外链在线生成