下面按从零到能跑通一个接口的流程,用 Linux + Laravel 给你讲一遍,适合新手。
sudo apt update
sudo apt install -y php php-cli php-mbstring php-xml php-curl php-mysql unzip git
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer global require laravel/installer
cd /var/www
composer create-project laravel/laravel api-demo
或(用安装器):
laravel new api-demo
cd api-demo
cp .env.example .env
php artisan key:generate
如需数据库:
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
php artisan make:controller Api/UserController
编辑:
// app/Http/Controllers/Api/UserController.php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return response()->json([
'code' => 0,
'msg' => 'success',
'data' => [
['id' => 1, 'name' => 'Tom'],
['id' => 2, 'name' => 'Jack']
]
]);
}
}
编辑:
// routes/api.php
use App\Http\Controllers\Api\UserController;
Route::get('/users', [UserController::class, 'index']);
Laravel 中
api.php里的路由默认带/api前缀
php artisan serve
访问:
http://127.0.0.1:8000/api/users
server {
listen 80;
server_name api.example.com;
root /var/www/api-demo/public;
location / {
try_files $uri /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Route::post('/user', function (Request $request) {
return response()->json([
'name' => $request->input('name')
]);
});
return response()->json($data, 201);
curl http://127.0.0.1:8000/api/users
或 Postman / Apifox
Resource 控制返回格式Middleware 做鉴权Sanctum 做 API TokenFormRequest 做参数校验如果你愿意,我可以:
你想继续哪一步?