Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menggunakan ThinkPHP6 untuk ujian API RESTful?

Bagaimana untuk menggunakan ThinkPHP6 untuk ujian API RESTful?

WBOY
WBOYasal
2023-06-12 10:21:10854semak imbas

Dengan perkembangan pesat Internet mudah alih dan populariti pengkomputeran awan, perkhidmatan Web (terutamanya API RESTful) telah menjadi bahagian terpenting dalam bidang pembangunan semasa. Jadi bagaimana untuk menggunakan ThinkPHP6 untuk ujian API RESTful? Artikel ini akan memberikan pengenalan terperinci kepada kaedah ujian RESTful API dalam ThinkPHP6 serta alat dan amalan yang disyorkan.

  1. Persediaan persekitaran

Mula-mula, anda perlu memasang persekitaran ThinkPHP6, yang boleh dipasang menggunakan komposer yang disediakan di laman web rasmi. Masukkan arahan berikut dalam tetingkap baris arahan:

composer create-project topthink/think tp6

Kemudian, cipta fail .env dalam direktori akar projek, di mana anda perlu menambah konfigurasi pangkalan data:

DB_HOST = localhost
DB_NAME = test
DB_USER = root
DB_PASSWORD =
  1. definisi laluan

Dalam ThinkPHP6, kita boleh menggunakan kaedah Route::rule untuk menentukan laluan, contohnya:

Route::rule('users', 'apppicontrollerUser');

di mana, users ialah laluan URI tersuai kami dan apppicontrollerUser ialah pengawal yang sepadan.

  1. Menulis pengawal

Dalam ThinkPHP6, kami boleh mengendalikan permintaan API RESTful melalui pengawal (Pengawal). Berikut ialah kod pengawal mudah:

<?php

namespace apppicontroller;

use thinkacadeDb;

class User
{
    public function index()
    {
        return json(Db::table('users')->select());
    }

    public function read($id)
    {
        return json(Db::table('users')->where('id', $id)->find());
    }

    public function save()
    {
        $data = input();
        Db::table('users')->insert($data);
        return json(['msg' => 'created']);
    }

    public function update($id)
    {
        $data = input();
        Db::table('users')->where('id', $id)->update($data);
        return json(['msg' => 'updated']);
    }

    public function delete($id)
    {
        Db::table('users')->where('id', $id)->delete();
        return json(['msg' => 'deleted']);
    }
}

Dalam pengawal ini, kami mentakrifkan lima kaedah index, read, save, update dan delete, sepadan dengan Lima kaedah dalam RESTful API : GET, GET, POST, PUT dan DELETE.

  1. Alat Pengujian

Apabila menjalankan ujian RESTful API, kita perlu menggunakan beberapa alatan untuk mensimulasikan permintaan dan respons kepada API Berikut ialah beberapa alatan ujian biasa.

4.1 Posmen

Postman ialah alat pembangunan dan ujian API yang berkuasa yang menyokong pelbagai jenis permintaan HTTP Ia mudah digunakan dan boleh mensimulasikan penghantaran permintaan HTTP dan melihat respons.

4.2 cURL

cURL ialah alat baris arahan yang biasa digunakan untuk memindahkan data dan menyokong berbilang protokol, termasuk HTTP, FTP, SMTP, dsb. Pelbagai operasi permintaan HTTP boleh dilakukan menggunakan cURL.

4.3 Klien REST Lanjutan

Klien REST Lanjutan ialah pemalam penyemak imbas berskala tinggi yang membolehkan ujian API RESTful mudah melalui UI ringkas dan banyak fungsi mudah untuk pembangunan masa hadapan.

  1. Kes Praktikal

Dalam projek sebenar, ujian API RESTful perlu mematuhi dokumentasi antara muka dan menggunakan pelbagai jenis permintaan HTTP dan kod tindak balas yang berikut ialah Kes mudah:

Permintaan GET HTTP 5.1

URI: http://localhost/api/users

Kaedah: GET

Kod status respons: 200

Format data respons: json

[
    {
        "id": 1,
        "name": "Tom",
        "email": "tom@example.com"
    },
    {
        "id": 2,
        "name": "Jerry",
        "email": "jerry@example.com"
    }
]

5.2 HTTP POST permintaan

URI: http://localhost/api/users

Kaedah: POST

minta Format data: form-data

Minta parameter data:

参数名 参数值
name Mary
email mary@example.com

Kod status respons: 201

Format data respons: json

{
    "msg": "created"
}

Permintaan 5.3 HTTP PUT

URI: http://localhost/api/users/3

Kaedah: PUT

Format data permintaan: x-www-form-urlencoded

Permintaan parameter data :

参数名 参数值
name John
email john@example.com

Kod status respons:200

Format data respons:json

{
    "msg": "updated"
}

Permintaan 5.4 HTTP DELETE

URI:http://localhost/api/users/3

Kaedah: DELETE

Kod status respons: 200

Format data respons: json

{
    "msg": "deleted"
}
  1. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan ThinkPHP6 untuk ujian RESTful API. Pertama, kita perlu menyediakan persekitaran, menentukan laluan dan menulis pengawal. Kemudian, kami mengesyorkan beberapa alat ujian biasa, dan melalui kes praktikal, menunjukkan cara membuat permintaan HTTP GET, POST, PUT dan DELETE, serta kod status respons dan format data yang sepadan. Saya harap pembaca dapat mempelajari ThinkPHP6 secara mendalam, menggunakan ujian API RESTful dengan baik dan meningkatkan kecekapan dan kestabilan pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan ThinkPHP6 untuk ujian API RESTful?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn