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 ...
随机推荐
- ansible 001 ansible介绍 原理 主机清单 定义变量 提权与连接
ansible 自动化运维 ansible 部署应用程序 (在操作系统层面之上) 系统初始化过程 主机名,yun源,网络,服务,时间同步,内核参数 (可以在pxe这里完成) ansible可以方便10 ...
- 【Spring】06 Aop切面功能
什么是Aop? Aspect Oriented Programming 面向切面编程 通过预编译的方式和运行期动态代理实现程序功能统一维护的一种技术 是OOP的延续,也是Spring第二个核心内容 可 ...
- 【H5】13 表单 其二 如何构造
有了基础知识,我们现在更详细地了解了用于为表单的不同部分提供结构和意义的元素. 前提条件: 基本的计算机能力, 和基本的 对HTML的理解. 目标: 要理解如何构造HTML表单并赋予它们语义,以便它们 ...
- 《Python数据可视化之matplotlib实践》 源码 第四篇 扩展 第十二章
图 12.1 import matplotlib.pyplot as plt import numpy as np barSlices=12 theta=np.linspace(0.0, 2*np. ...
- 记录一次实验室显卡服务器崩溃事件(Ubuntu18.04 server系统,4块NVIDIA的特斯拉显卡)
系统报错(显示屏上的错误): 系统中的日志文件中所有的log文件都没有记录这次崩溃事件. 不过根据屏幕上显示出的报错,大致估计为显卡的问题: 重启后查看显卡地址: 发现报错的显卡是 0号显卡.个人估 ...
- css手撕奥运五环
巴黎奥运会正如火如荼地进行,本文来使用 CSS 来画一个奥运五环.奥运五环是相互连接的,因此在视觉上会产生重叠效果,这也是实现五环最有挑战性的部分.接下来,将利用 CSS 的伪元素,巧妙地实现环环相扣 ...
- 一直让 PHP 程序员懵逼的同步阻塞异步非阻塞,终于搞明白了
大家好,我是码农先森. 经常听到身边写 Java.Go 的朋友提到程序异步.非阻塞.线程.协程,让系统性能提高到百万.千万并发,使我甚是惊讶属实羡慕.对于常年写 PHP 的我来说,最初听到这几个词时, ...
- BossPlayersCTF靶机笔记
BossPlayersCTF靶机 靶机概述 这是vulnhub上的一个简单的linux靶机,适合初级渗透测试人员,同时也告诉我们在渗透测试过程中要有耐心,要允许有兔子洞. 靶机整体思路: 主机端口探测 ...
- windows编程中文件操作的几种方法,C,C++,MFC,Win32sdk
windows编程中文件操作的几种方法 windows编程中文件操作有以下几种常见方法: 1.C语言中文件操作.2.C++语言中的文件操作.3.Win32 API函数文件操作.4.MFC CFile类 ...
- OBS直播抠绿插件(Matting123)
一.产品概述 OBS直播抠绿插件(Matting123)是使用绿幕.蓝幕进行抠像的虚拟直播软件,本软件需要配合OBS30.0.0或以上版本进行使用.Matting123采用自研抠图算法,该算法已达到影 ...