laravel框架接口
下面是增删改查的接口,在使用过程中按自己需求对代码进行更改
控制器代码
<?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框架接口的更多相关文章
- 使用laravel框架开发接口时ajax post请求报错419
nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...
- [php]laravel框架容器管理的一些要点
本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...
- php的laravel框架快速集成微信登录
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...
- 使用 Laravel 框架:成为微信公众平台开发者
转: http://ninghao.net/blog/1441 作者:王皓发布于:2014-05-30 13:16更新于:2014-05-31 12:05 我们可以使用Laravel 框架为微信公众平 ...
- laravel框架总结(四) -- 服务容器
1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { p ...
- laravel框架中所用到的依赖注入
用Laravel开发前前后后有2个月左右了,之前一直写Java,就像找到Java和PHP之前的共同点,用Java的某些原理去理解PHP会发现还是有很多共通之处的.Java的依赖注入已经是一个很常见的概 ...
- Laravel框架中的make方法详解
为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...
- 装饰器模式以及Laravel框架下的中间件应用
Laravel框架的中间件使用:从请求进来到响应返回,经过中间件的层层包装,这种场景很适合用到一种设计模式---装饰器模式. 装饰器模式的作用,多种外界因素改变对象的行为.使用继承的方式改变行为不太被 ...
- laravel框架容器管理
来自http://www.cnblogs.com/chy1000/p/7072936.html 本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章 ...
- EasyWeChat使用(laravel框架下)
最近做了个项目是关于微信网页开发的,今天记录下在做项目中的关于微信这块遇到的一些坑 关于微信这块,用的是EasyWeChat,提高了开发的效率.在看EasyWeChat这个文档的时候发现了有专门针对l ...
随机推荐
- 全网最好看的单细胞umap图绘制教程
全网最好看的单细胞umap图绘制教程 作者按 大家或许都曾被Nature, Science上的单细胞umap图吸引过,不免心生崇拜.在这里,我们将介绍一种简单方便的顶刊级umap图可视化 全文字数|预 ...
- java引入es使用
引入依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>el ...
- Fiddler使用界面介绍-工具栏
Fiddler工具栏介绍 1.备注 选择一个或多个请求后点击[备注]图标,可批量给请求添加备注显示在"Comments"一列 2.Replay 选择一个或多个请求后点击[Repla ...
- 【转载】 docker挂载volume的用户权限问题,理解docker容器的uid
=================================================================== 在刚开始使用docker volume挂载数据卷的时候,经常出现 ...
- 在Ubuntu18.04系统中源码安装 gcc7.3.0
本文给出源码安装gcc7.3.0的方法. 依赖的环境安装到自建文件夹下, 给出下面操作中环境的安装文件夹: /home/devilmaycry/anaconda3/mindspore_envs这个路径 ...
- 在vscode中通过修改launch.json文件为项目添加环境变量——在launch.json文件中修改env变量
在vscode中launch.json文件具有十分重要的作用,在vscode中可以通过修改launch.json文件修改调试和运行代码时的设置. 本文假设已对vscode有初步了解,已可以创建laun ...
- python中不同方法的按索引读取数组的性能比较——哪种按索引读取数组的性能更好
写python代码这么多年,从来也没有想过不同方式的读取python数组会有什么太大的性能差距,不过这段时间写代码突然发现这个差别还挺大,于是就多研究了一下. 本文研究的是使用不同方式来对python ...
- 在Debian上安装freeswitch
在Debian上安装freeswitch 说明: 首次发表日期:2024-08-12 参考文档: https://medium.com/@jogikrunal9477/ultimate-guide-t ...
- ViT和MAE模型结合初探
介绍 transfomer在NLP领域的应用已经非常广泛,但是在CV领域的应用还比较少,主要是因为CV领域的数据是二维的,而transfomer是基于序列的,因此需要将二维数据转换成序列数据,这就是V ...
- 【牛客刷题】HJ4 字符串分隔
题目链接 这个题目本身基本上是对语言熟悉程度的考察,没有什么别的逻辑可言: package main import ( "fmt" "strings" ) fu ...