laravel框架接口

寻技术 PHP编程 / Laravel 2023年07月11日 81

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

控制器代码

<?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']);
});

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

关闭

用微信“扫一扫”