创建一个 Article 资源
php artisan make:resource Article
你可以在 app/Http/Resources 目录下看到你刚刚生成的 Article 资源
当然我们还需要 Article 的数据库迁移、模型和控制器。我们能用这个命令快速的创建这些。
创建相关的model和contrlloer
php artisan make:model Models/Article -mc

修改迁移文件:跟目录databaes/migrations/2018_11_02_062640_create_articles_table
具体字段类型和索引,请参考https://laravelacademy.org/post/6171.html public function up()
{
Schema::create('articles'/*表名*/, function (Blueprint $table) {
$table->/*字段类型 主键,默认11*/increments('uid')->comment('用户id');//字段和备注
$table->/*字段类型 varchar 30*/string('username','60')->/*唯一索引*/unique()->comment('用户名称');
$table->/*字段类型 varchar 30*/string('email','30')->unique()->comment('用户邮箱');
$table->ipAddress('ipAddress')->comment('ip地址');
$table->timestamps();
});
}
然后我们运行命令创建对应数据表(然后你的数据库中就会生成 migrations//迁移文件表 articles//你创建的表): php artisan migrate
//如表结构填错了可执行回滚操作重新创建
php artisan migrate:rollback
回到我们的model层:fillable 里面的字段我们可以进行create和update <?php
namespace App\Models; use Illuminate\Database\Eloquent\Model; class Article extends Model
{
protected $fillable = ['username', 'email', 'ipAddress'];
}
laravel 自带的有个填充数据的工具为我们添加测试数据:
填充器说明:https://laravelacademy.org/post/9153.html
就会成功一个databaes/migrations/seeds/ArticlesTableSeeder.php文件 php artisan make:seeder ArticlesTableSeeder
然后编辑databaes/migrations/seeds/ArticlesTableSeeder.php文件:填充50条数据 use App\Models\Article; //修改run方法Article::create里面的字段就是
//protected $fillable = ['username', 'email', 'ipAddress'];
public function run()
{
// Let's truncate our existing records to start from scratch.
Article::truncate();
$faker = \Faker\Factory::create();
// And now, let's create a few articles in our database:
for ($i = 0; $i < 50; $i++) {
Article::create([
'username' => $faker->name.str_random(5),
'email' => str_random(10).'@baidu.com',
'ipAddress' => '127.0.0.1',
]);
}
}
运行填充器命令进行填充表里的数据就有了 php artisan db:seed --class=ArticlesTableSeeder
如果填充多张表的数据填充编辑:databaes/migrations/seeds/DatabaseSeeder.php public function run()
{
$this->call(ArticlesTableSeeder::class);//填充articles
$this->call(InfoTableSeeder::class);//填充info
}
//然后执行,php artisan db:seed
编辑ArticleController.phpEloquent操作可以参考https://learnku.com/articles/6356/laravel-eloquent-usage: //查询所有
public function index()
{
return Article::all();
} //根据uid
public function show($uid)
{
//Article::where(['uid'=>$uid])->first();
return Article::where('uid',$uid)->first();
}
添加路由
Route::get('articles/{uid}', 'ArticleController@show');
一个简单接口功能就实现了
http://127.0.0.1:8081/api/articles/1
{"uid":1,"username":"Mr. Jamie Mohruwec7","email":"9gihcYEVzk@baidu.com","ipAddress":"127.0.0.1","created_at":"2018-11-02 07:13:26","updated_at":"2018-11-02 07:13:26"}

laravel 实现一个简单的 RESTful API的更多相关文章

  1. Java框架spring Boot学习笔记(九):一个简单的RESTful API

    RESTful API设计需求如下: User.java package com.springboot.test; public class User { private Long id; priva ...

  2. 基础项目构建,引入web模块,完成一个简单的RESTful API 转载来自翟永超

    简介 在您第一次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复粘贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...

  3. 一、基础项目构建,引入web模块,完成一个简单的RESTful API

    一.Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 二.使用maven构 ...

  4. 使用webpy创建一个简单的restful风格的webservice应用

    下载:wget http://webpy.org/static/web.py-0.38.tar.gz解压并进入web.py-0.38文件夹安装:easy_install web.py 这是一个如何使用 ...

  5. 使用springboot实现一个简单的restful crud——01、项目简介以及创建项目

    前言 之前一段时间学习了一些springboot的一些基础使用方法和敲了一些例子,是时候写一个简单的crud来将之前学的东西做一个整合了 -- 一个员工列表的增删改查. 使用 restful api ...

  6. 简单说说Restful API

    前言: 最近一段时间,一直在低头敲代码,开发平台对外交互的API接口,功能已经大体完成了,回过头来看看自己的接口设计文档,不胜感慨,想当初自己也是为"接口名称"想破了脑袋,各种百度 ...

  7. 使用springboot实现一个简单的restful crud——03、前端页面、管理员登陆(注销)功能

    前言 这一篇我们就先引入前端页面和相关的静态资源,再做一下管理员的登陆和注销的功能,为后续在页面上操作数据做一个基础. 前端页面 前端的页面是我从网上找的一个基于Bootstrap 的dashboar ...

  8. 《Web Development with Go》实现一个简单的rest api

    设计模式完了之后,应该实现具体的应用了. 设计模式还得没事就要复习. web应用,学习的是网上的一本书. <Web Development with Go> package main im ...

  9. 使用springboot实现一个简单的restful crud——02、dao层单元测试,测试从数据库取数据

    接着上一篇,上一篇我们创建了项目.创建了实体类,以及创建了数据库数据.这一篇就写一下Dao层,以及对Dao层进行单元测试,看下能否成功操作数据库数据. Dao EmpDao package com.j ...

随机推荐

  1. 在eclipse中从cvs下载项目,再部署到tomcat常见错误!

    1.先调出cvs视图 如果cvs插件还未安装,下载一个: 安装cvs插件:将features和pluguns文件夹里面的内容分别复制到eclipse安装路径下面对应的features和pluguns文 ...

  2. struts2简单入门-关于Result标签Type属性的说明

    Result标签 作用 当action执行完毕,后要返回什么样的视图. Type属性 决定返回的是什么视图. struts-default.xml的Type属性的定义 <result-types ...

  3. 添加日志(配置spring)---Java_web

    一.配置日志--以下三部 1.配置web.xml;  2.配置 log4j.properties;  3.配置jar包 以下是文件目录 二.配置 web.xml (注意:下面的classpath即lo ...

  4. mysql 案例 ~ mysql字符集详解

    一 谈谈mysql常见的字符集问题 二 字符集统一  1 character_set_server  2 character_set_client  3 java/php等连接字符集  4 chara ...

  5. Python 模拟鼠键

    让python 自动操作桌面或应用窗口,点击,滑动鼠标,输入文字等 # coding=utf-8 from pymouse import PyMouse from pykeyboard import ...

  6. ffmpeg笔记

    1.视频降低质量,减小体积: ffmpeg -i aaa.mp4 -strict -2 -qscale 20 -y outfile.mp4

  7. 使用SpringSocial开发微信登录

    ⒈编写微信用户对应的数据结构 package cn.coreqi.social.weixin.entities; /** * 微信用户实体类 */ public class WeixinUserInf ...

  8. java二分查找

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序排列,将表 ...

  9. MySQL的连接数

    我使用的数据库,没有针对其进行其他相关设置,最近经常出现连接异常,现象为太多的连接. MySQL查看最大连接数和修改最大连接数 1.查看最大连接数(可通过show variables查看其他的全局参数 ...

  10. ubuntu中文版man

    man默认是英文的,但ubuntu的源里也有中文版的.以下是配置方法: 1)  终端输入sudo apt-get install manpages-zh 2)  安装后修改配置文件sudo gedit ...