API REST Kotak Surat dengan Laravel. Ini adalah klien email kecil untuk mengelola pesan internal. Saya telah diberikan prototipe sederhana untuk API kotak surat dasar di mana pesan-pesan yang disediakan dicantumkan. Setiap pesan dapat ditandai sebagai telah dibaca dan Anda dapat mengarsipkan satu pesan.
PHP 7.0, mysql 5.6, Apache 2.4 di Ubuntu 16.04 Laravel 5.2
==================== ==================== =======
Ini adalah kerangka pengembangan Laravel lengkap. Dimana semua REST API telah diimplementasikan. Anda dapat mengubah konfigurasi koneksi database. Ubah juga rute sesuai root dokumen Anda untuk folder aplikasi. misalnya. http://laravel/ [host virtual]
Git mengkloning atau mengunduh seluruh folder ke root dokumen Anda atau di host virtual. Dan kemudian jalankan perintah berikut dari terminal: ###php artisan make:migration mail_details###
Klien REST digunakan untuk menguji API.
Impor pesan dari file JSON Untuk menyemai database dengan beberapa contoh pesan, tersedia file JSON yang perlu diimpor ke database. Silakan tulis tugas yang dapat mengimpor pesan ini ke datab messages_sample.json
Dibagikan di folder /helpdocuments/
API Pesan Tugas utamanya adalah membangun API untuk pesan-pesan. Itu harus berupa API berbasis REST dengan muatan berformat JSON. API harus mendukung kasus penggunaan berikut.
Permintaan JSON
URL: http://laravel/api/v1/mailbox/savemessages
Permintaan JSON
{ "limit" : " 6 " }
URL: http://laravel/api/v1/mailbox
Respon JSON
{ "error" : false , "message" : " All mail fetched " , "mails" :{ "total" : 10 , "per_page" : 5 , "current_page" : 1 , "last_page" : 2 , "next_page_url" : " http: // laravel / api / v1 / mailbox?page=2 " , "prev_page_url" : null , "from" : 1 , "to" : 5 , "data" :[{ "mail_detail_id" : 21 , "mail_detail_uid" : 26 , "mail_detail_sender" : " Jane Austen " , "mail_detail_subject" : " treasure-hunter " , "mail_detail_message" : " The story is about a treasure-hunter and a treasure-hunter who is constantly annoyed by a misguided duke. It takes place on a forest planet in a galaxy-spanning commonwealth. The critical element of the story is a door being opened " , "mail_detail_time_sent" : " 2016-02-29 07:20:27 " , "mail_detail_read" : 0 , "mail_detail_archive" : 0 , "created_at" : " 2017-01-06 16:19:46 " , "updated_at" : " 2017-01-06 16:19:46 " } ..... ]}}
Permintaan JSON
{ "limit" : " 5 " }
URL: http://laravel/api/v1/mailbox/listarchive
Respon JSON
{ "error" : false , "message" : " Archived messages fetch successfully " , "mails" :{ "total" : 2 , "per_page" : 5 , "current_page" : 1 , "last_page" : 1 , "next_page_url" : null , "prev_page_url" : null , "from" : 1 , "to" : 2 , "data" :[{ "mail_detail_id" : 15 , "mail_detail_uid" : 26 , "mail_detail_sender" : " Jane Austen " , "mail_detail_subject" : " treasure-hunter " , "mail_detail_message" : " The story is about a treasure-hunter and a treasure-hunter who is constantly annoyed by a misguided duke. It takes place on a forest planet in a galaxy-spanning commonwealth. The critical element of the story is a door being opened " , "mail_detail_time_sent" : " 2017-01-06 21:27:12 " , "mail_detail_read" : 1 , "mail_detail_archive" : 1 , "created_at" : " 2017-01-06 08:46:25 " , "updated_at" : " 2017-01-06 08:46:25 " } ... ]}}
Permintaan JSON
{ "id" : " 10 " }
URL: http://laravel/api/v1/mailbox/show
Respon JSON
{ "error" : false , "message" : " Fetched message details successfully " , "mail" :[{ "mail_detail_id" : 10 , "mail_detail_uid" : 21 , "mail_detail_sender" : " Ernest Hemingway " , "mail_detail_subject" : " animals " , "mail_detail_message" : " This is a tale about nihilism. The story is about a combative nuclear engineer who hates animals. It starts in a ghost town on a world of forbidden magic. The story begins with a legal dispute and ends with a holiday celebration. " , "mail_detail_time_sent" : " 2017-01-06 21:42:23 " , "mail_detail_read" : 1 , "mail_detail_archive" : 1 , "created_at" : " 2017-01-06 08:46:25 " , "updated_at" : " 2017-01-06 16:12:23 " }]}
Permintaan JSON
{ "id" : " 1 " }
URL: http://laravel/api/v1/mailbox/read
Respon JSON
{ "error" : false , "message" : " Mail read updated successfully " }
Permintaan JSON
{ "id" : " 10 " }
URL: http://laravel/api/v1/mailbox/makearchive
Respon JSON
{ "error" : false , "message" : " Mail arcived updated successfully " }
Selain API, harap berikan juga dokumentasi singkat tentang cara menggunakannya dan cara kerja titik akhir. Untuk mempermudah, kami hanya menggunakan header Otorisasi HTTP sederhana.
Detail lebih lanjut di folder /tests/.
==================== =================================
Saya telah membuatnya dalam satu malam :). Jadi pasti ada ruang untuk banyak perbaikan dalam versi produksi. Sedikit di bawah ini:
Metode autentikasi token API berbasis Paspor/Oauth2 untuk memanggil REST API [https://laravel.com/docs/5.3/passport]
Lebih banyak memeriksa metode pvt sebelum menyimpan atau memperbarui data. misalnya. sebelum memperbarui ke arsip perlu memeriksa apakah sudah diperbarui sebagai arsip atau belum
Menjadikan seluruh aplikasi sebagai paket/modul laravel
Membuat total ujung depan klien emial bersama dengan menu berbeda di tab kiri dan detail tindakan di tab kanan.
Memanggil API secara otomatis dengan ajax misalnya. saat membuka email, ia akan menelepon dan memperbarui saat sudah dibaca
==================== ==================== ==========
Beberapa Tangkapan Layar dari pengujian oleh klien lainnya: