首页 > 其他分享 >laravel框架接口

laravel框架接口

时间:2023-06-09 09:04:09浏览次数:40  
标签:laravel return fang 框架 接口 msg data id name

下面是增删改查的接口,在使用过程中按自己需求对代码进行更改

控制器代码

<?php

namespace App\Http\Controllers;

use App\Models\Fang;
use Illuminate\Http\Request;
use Nette\Schema\ValidationException;

class FangController extends Controller
{
    //房源添加
    public function create(Request $request){
        try {
            $data=$request->all();
            $res=Fang::create($data);
            return ['code'=>200,'data'=>$data,'msg'=>'添加成功'];
        }catch (\Exception $exception){
            return ['data'=>$data,'msg'=>'服务器错误','code'=>203];
        }
    }

    //房源搜索
    public function select(Request $request){
        try {
            //获取搜索关键字
            $fang_name=$request->input('fang_name');
            // 在 Post 模型中执行搜索
            $data = Fang::where('fang_name', 'like', "%$fang_name%")
                ->orWhere('fang_name', 'like', "%$fang_name%")
                ->get();

            if($data){
                return ['data'=>$data,'msg'=>'搜索成功','code'=>200];
            }
        }catch (ValidationException $exception){
            return ['data'=>$fang_name,'msg'=>'服务器错误'];
        }
    }

    //房源删除
    public function delete(){
        try {
            $id=\request()->get('id');
            $info=Fang::find($id);
            if ($info->is_recommend==1){
                return ['data'=>203,'msg'=>"该房源已被推荐,不可删除"];
            }else if (empty($info)){
                return response()->json(['message'=>'该房源不存在'],404);
            }
            $info->delete();
            return ['data'=>$info,'code'=>200,'msg'=>"删除成功"];
        }catch (ValidationException $exception){
            return ['data'=>$info,'msg'=>'服务器错误'];
        }
    }

    //房源修改
    public function update(Request $request){
        try {
//            $id=$request->all('id');
//            验证请求数据
            $request->validate([
                'fang_name'=>'required|string'
                //其他需要更新的字段验证规则
            ]);
            //根据传入的ID查找用户
            $id=$request->post('id');
            $data=Fang::find($id);
            //如果找不到用户,返回错误响应
            if (!$data) {
                return response()->json(['message' => '该房源不存在'], 404);
            }

            //更新用户信息
            $data->fang_name=$request->input('fang_name');
            //更新其他字段

            //保存用户更改
            $data->save();

            // 返回成功响应
            return response()->json(['message' => '修改成功']);
        }catch (\Exception $exception){
            return ['states'=>1000,'msg'=>'验证不通过'];
        }
    }


}

路由api代码

include base_path('routes/xb/xb.php');

在routes目录下再创建一个目录和一个.php文件

<?php
use Illuminate\Support\Facades\Route;

Route::prefix('xb')->group(function (){
    //房源添加
    Route::post('fang_create',[\App\Http\Controllers\FangController::class,'create']);
    //房源删除
    Route::any('fang_delete',[\App\Http\Controllers\FangController::class,'delete']);
    //房源修改
    Route::any('fang_update',[\App\Http\Controllers\FangController::class,'update']);
    //房源搜索
    Route::post('fang_select',[\App\Http\Controllers\FangController::class,'select']);
});

使用过程中注意部分代码的更改

标签:laravel,return,fang,框架,接口,msg,data,id,name
From: https://www.cnblogs.com/Boboschen/p/17468151.html

相关文章

  • 云原生时代Go最受欢迎Web开源框架Gin原理与实战
    @目录概述定义特点概览导图使用快速入门HTTP方法使用参数获取参数绑定自定义日志输出自定义中间件路由组HTML渲染设置和获取CookieXML、YAML、ProtoBuf渲染使用BasicAuth中间件静态文件和BootStrap使用Session写入日志文件原理核心执行流程核心数据结构概述定义Gin官网地址......
  • 接口测试测试点__肖sir__测试点整理
    接口测试测试点==============================================================================================================================================================================================================================================......
  • Java多态综合案例(包含接口,接口实现类)
    首先定义一个接口名为USB其次定义两个实现类分别名为KeyBorad和Mouse此时就可以使用多态了,因为实现类和接口某种意义上来说是继承关系。USBu=newKeyborad();USBu2 =newMouse();因为键盘和鼠标都具有插拔功能,所以为了方便,把这两个功能写入接口,然后实现类重写。pac......
  • Java高级技术、Junit单元测试框架入门
          ......
  • 转载:Spring 框架的设计理念与设计模式分析
    Spring框架的设计理念与设计模式分析<!--LEADSPACE_BODY_END--><!--SUMMARY_BEGIN-->Spring作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出Spring框架的作者设计Spring框架的骨骼架构的设计理念,有那几个核心组件?为......
  • 基于XC7Z100+OV5640(DSP接口)YOLO人脸识别前向推理过程(笔记)
    PS与PL使用Axi4-lite进行数据交互内容概述如何在PS和PL之间使用Axi4-lite接口进行数据交互Axi4-lite是一种简单的总线协议,适用于低吞吐量的数据传输,例如PS发送加速相关的命令给PL内容分为以下几个部分:PS和PL之间的数据交互方案介绍Axi4-lite接口的使用方法和示例代码Ax......
  • linux框架学习(备份)
    1.现在主要有两大主流系统:unix系统/window系统2.3.unix系统(不开源,适用于小型机)4.|-linux(开源,免费,适用于pcserver)5.|-Android6.|-AppaleOS7.因为linux开源,很多公司都是可以获得linux源代码(文件系统,cpu,内存,IO,网络资源的管理和调集)8.9.linux简介:10.......
  • springMVC集成缓存框架Ehcache
    概述Ehcache算是当前比较流行的缓存框架,使用缓存可以极大的缓解服务器和数据库的压力,提高访问效率,提高服务器的并发能力。接下来我们看怎么把缓存在springmvc种使用起来。详细Ehcache算是当前比较流行的缓存框架,使用缓存可以极大的缓解服务器和数据库的压力,提高访问......
  • 深度学习训练环境bug——【skimage升级到19之后的接口问题】
    skimage即是Scikit-Image。基于python脚本语言开发的数字图片处理包,比如PIL,Pillow,opencv,scikit-image等。PIL和Pillow只提供最基础的数字图像处理,功能有限。opencv实际上是一个c++库,只是提供了python接口,更新速度非常慢。scikit-image是基于scipy的一款图像处理包,它将图片......
  • Google colab 更改Tensorflow深度学习框架版本
    Googlecolab默认导入的tensorflow版本是2.0想,想更改tensorflow版本为1.x则需要加入%tensorflow_version1.ximporttensorflowastftf.__version__之后要进行colab的重启,即可完成版本改装,由于colab没有terminal,所以只能这么修改。欢迎登陆官网(附https://tensorflow.google.cn/)......