热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Swagger在laravel语法表达

一、参考链接二、开始在\app\Http\Controllers的Controller.php加上一下正文代码***@OA\Info(titleMyFirstAPI,versi

一、参考链接
https://blog.quickadminpanel.com/laravel-api-documentation-with-openapiswagger/

https://swagger.io/specification/

二、开始
在\app\Http\Controllers 的Controller.php 加上一下正文代码

/**
 * @OA\Info(title="My First API", version="0.1")
 * 
 */

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

在routes目录外面增加增删改查路由

Route::resource('swagger',SwaggerController::class);

三、CURD操作
GET列表查问:

//列表
    public function index(){
        /**
         * @OA\Get(
         *     path="/swagger",
         *       tags={"Swagger增删改查"},
         *     description="查列表",
         *     summary="查列表",
         *     @OA\Response(respOnse="200", description="An example resource")
         * )
         */
        
        $arr = ['egg'=>'adf','php'=>'qqq'];
        return json_encode($arr);
    }

GET查问

    //显示对应id的内容
    public function show($id){
        /**
     * @OA\Get(
     *      path="/swagger/{id}",
     *      tags={"Swagger增删改查"},
     *      summary="查问",
     *      description="依据id获取数据",
     *      @OA\Parameter(in="path",name="id",description="类型id",required=true,@OA\Schema(type="integer"),),
     *      @OA\Response(respOnse="200", description="An example resource"),
     *   
     * )
     */
     $arr = [
     1=>['php','asp'],
     2=>['aaa','test']
     ];
     return json_encode($arr[$id]);

    }

post减少(这里是多文件上传示例)

 //减少
    public function store(Request $request){
            /**
     * @OA\Post(
     *      path="/swagger",
     *      tags={"Swagger增删改查"},
     *      summary="减少",
     *      description="减少数据",
     *      @OA\Parameter(in="query",name="username",description="用户名称",required=true,@OA\Schema(type="string"),),
     *      @OA\Parameter(in="query",name="age",description="年龄",required=true,@OA\Schema(type="integer"),),
     *      @OA\Parameter(
     *          in="query",
     *            name="key[]",            
     *              @OA\Schema(
     *                  type="array", collectiOnFormat="multi", @OA\Items(type="string"),uniqueItems=true,
     *             )
     *         ),    
     *         @OA\RequestBody(
     *                 required=true,
     *                @OA\MediaType(
     *                 mediaType="multipart/form-data",
     *                 @OA\Schema(
     *                 @OA\Property(
     *                     description="file to upload",
     *                     property="file[]",
     *                     type="array",
     *                         @OA\Items(type="file"),
     *                ),
     *                
     *             )
     *         )
     *     ),
     *      @OA\Response(respOnse="200", description="An example resource"),
     *   
     * )
     */
     $input=$request->all(); 
     $input['file'] = $_FILES['file'];
    
     return json_encode($input);
     
     
    }

PUT更新(单文件上传)

//更新 
    public function update(Request $request){
                /**
     * @OA\Put(
     *      path="/swagger/{id}",
     *      tags={"Swagger增删改查"},
     *      summary="更新",
     *      description="更新数据",
         
     *         @OA\RequestBody(
     *                 required=true,
     *                @OA\MediaType(
     *             mediaType="application/x-www-form-urlencoded",
     *                 @OA\Schema(
     *                 @OA\Property(
     *                     description="id",
     *                     property="id",
     *                     type="integer",
     *                ),
     *                    @OA\Property(
     *                     description="名称",
     *                     property="name",
     *                     type="string",
     *                ),
     *                    @OA\Property(
     *                     description="年纪",
     *                     property="age",
     *                     type="integer",
     *                ),
     *                
     *             )
     *         )
     *     ), 
     *      @OA\Response(respOnse="200", description="An example resource"),
     *   
     * )
     */
     $input=$request->all(); 
    
     return json_encode($input);
    }

删除

//删除
    public function destroy(Request $request){
                /**
     * @OA\Delete(
     *      path="/swagger/{id}",
     *      tags={"Swagger增删改查"},
     *      summary="删除",
     *      description="删除数据",
         
     *         @OA\RequestBody(
     *                 required=true,
     *                @OA\MediaType(
     *             mediaType="application/x-www-form-urlencoded",
     *                 @OA\Schema(
     *                 @OA\Property(
     *                     description="id",
     *                     property="id",
     *                     type="integer",
     *                ),
     *                
     *             )
     *         )
     *     ), 
     *      @OA\Response(respOnse="200", description="An example resource"),
     *   
     * )
     */
        $input=$request->all(); 
    
        return json_encode($input);
    } 


推荐阅读
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
author-avatar
Lily賈麗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有