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 ...
随机推荐
- JMeter+Ant+Jenkins接口自动化测试框架(Windows)
一:简介 大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起 ...
- 对比python学julia(第四章:人工智能)--(第四节)绘画大师
1.1. 项目简介 所谓图像风格迁移,是利用深度学习技术,将一幅风格图像输人卷积神经网络提取风格特征,再将其应用到另一幅内容图像上,从而生成一幅与风格囝像相仿的新图像.如果选取绘画大师的作品作为风格 ...
- ArcGIS for Android入门(Java):初体验
准备工作 开发工具:Android Studio 环境:jdk 11 (首次接触安卓开发,可能有的地方不太对,还请给位大佬多多指点) 项目搭建 打开Android Studio,点击New Proje ...
- CentOS-7离线安装perl
1.下载相关安装包 CentOS-7 所有rpm包的仓库地址:https://vault.centos.org/7.9.2009/os/x86_64/Packages/ perl-5.16.3-297 ...
- python性能分析器:cProfile
代码: (1) import cProfile import re cProfile.run('re.compile("foo|bar")') 运行结果: (2) import c ...
- 国产AI模型和美国顶级AI模型的距离在哪?—— 算力?算法?数据?
前段时间去了长春一汽,聊了Reinforcement Learning方面的工作,既是面试,也是谈了谈意向,最后全部OK,本打算是签合同了,结果HR说要求有三年的社保缴纳证明工作经验,最后说可以减到2 ...
- Trump 黑马 or 搅局者? 讲座视频分享
沈逸-特朗普能走多远 https://www.bilibili.com/video/BV1r7411t7VS/?spm_id_from=333.788.videocard.2 国际关系 对 ...
- ubuntu 18.04系统下CPU实时频率查看工具 cpupower
1. cpupower 安装 sudo apt install linux-tools-common 2. CPU实时频率查看 watch -n 1 sudo cpupower monitor ...
- Spring Boot 中使用 JSON Schema 来校验复杂JSON数据
JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSON Schema呢? 在数据交换领域,JSON Schema 以其强大的标准化能力,为定义和规范 JSON 数据的结构与规则提供 ...
- java汉字占用字节
若使用utf-8编码,中文占3个字节,英文的话只占一个字节 System.out.println("人".getBytes().length); 输出3 若使用unicode编码, ...