Bạn đang xem bài viết Rest Api Là Gì? Giới Thiệu Và Cách Sử Dụng WordPress Rest Api Cơ Bản được cập nhật mới nhất trên website Ezlearning.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.
Bạn muốn cung cấp dữ liệu của website đến một bên thứ 3 hoặc những nền tảng khác nhau, bạn không thể cho kết nối trực tiếp đến dữ liệu của bạn để bảo mật, điều gì có thể giúp bạn làm được điều này? đó chính là REST API. Trong bài viết này mình sẽ chia sẻ một chút về REST API là gì, mình cũng sẽ giới thiệu về REST API của WordPress và cách sử dụng nó để lấy dữ liệu cho website khác.
REST API là gì?
REST ( REpresentational State Transfer) hiểu đơn giản thì nó là một dạng chuyển đổi cấu trúc dữ liệu. API ( Application Programming I nterface) là giao diện lập trình ứng dụng giúp tạo ra các phương thức kết nối với các thư viện và ứng dụng khác nhau.
Như vậy có thể hiểu REST API là một ứng dụng chuyển đổi cấu trúc dữ liệu có các phương thức để kết nối với các thư viện và ứng dụng khác. REST API không được xem là một công nghệ, nó là một giải pháp để tạo ra các ứng dụng web services thay thế cho các kiểu khác như SOAP, WSDL (Web Service Definition Language),…
Các ưu điểm của REST
Giúp cho API trở nên rõ ràng hơn.
REST URL đại diện cho resource chứ không phải là hành động.
Dữ liệu được trả về với nhiều định dạng khác nhau như: xml, html, rss, json …
Code đơn giản và ngắn gọn.
REST chú trọng vào tài nguyên hệ thống.
Các trang web ngày nay thường sử dụng REST API để cho phép kết nối dữ liệu của họ. Facebook cũng cung cấp các REST API giúp các ứng dụng bên ngoài có thể kết nối đến dữ liệu của họ. (bạn có thể tham khảo tại đường dẫn: https://developers.facebook.com/tools/explorer).
Giới thiệu về WordPress REST API
Trước WordPress phiên bản 4.7 thì muốn có REST API bạn phải cài các Plugin hỗ trợ, tuy nhiên các phiên bản sau này nó đã được WordPress tích hợp sẵn và bạn không cần phải cài bất cứ Plugin nào.
Các REST API WordPress trả về các định dạng dữ liệu Json (JavaScript Object Notation), giúp người dùng có thể lấy dữ liệu hoặc cập nhật dữ liệu từ các ứng dụng khác mà không cần phải kết nối trực tiếp đến dữ liệu của website. Với REST API WordPress chúng ta có thể tạo ra các ứng dụng android đọc báo sử dụng dữ liệu Json của REST API, các ứng dụng như winform để quản lý,…
Bạn có thể tìm thấy cách sử dụng WordPress REST API tại https://developer.wordpress.org/rest-api/using-the-rest-api/.
Ví dụ sử dụng REST API WordPress để lấy dữ liệu
Thật ra tùy vào mục đích sử dụng dữ liệu Json trên nền tảng nào thì sẽ có cách xử lý trên nền tảng đó. Mình sẽ làm một ví dụ ngắn về việc lấy dữ liệu Json trên chúng tôi và hiển thị trên một website ở localhost.
Đầu tiên mình sẽ tạo ra một tệp main.js bên trong thư mục JS của theme.
Mở file content.php và thêm đoạn code sau vào:
Mở file functions.php và thêm đoạn code sau vào:
function getjsdata() { wp_register_script('custom-script',get_template_directory_uri().'/js/main.js',array( 'jquery' )); wp_enqueue_script( 'custom-script' ); } add_action('wp_enqueue_scripts','getjsdata');Quay trở lại file main.js và thêm đoạn code sau vào:
var button_load = document.getElementById("btn_load"); var content = document.getElementById("div_content"); if(button_load){ var request = new XMLHttpRequest(); request.open('GET','http://Domain_của_bạn/wp-json/wp/v2/posts'); request.onload = function(){ var data = JSON.parse(request.responseText); console.log("đã có dữ liệu"); }else{ console.log("đã kết nối đến server, nhưng có lỗi"); } }; request.onerror = function(){ console.log("kết nối thất bại"); }; request.send(); }); }Bây giờ bạn chạy website lên, nhấn vào nút “tải dữ liệu” nếu kết quả trả về trong tab Console là “đã có dữ liệu” tức là đã thành công, nếu trả về “đã kết nối đến server, nhưng có lỗi” thì xem lại REST API trên server của bạn, và nếu trả về “kết nối thất bại” thì xem lại kết nối đến server của bạn có vấn đề gì không.
Bây giờ việc còn lại của chúng ta là bóc tách các dữ liệu này và hiển thị lên trên website.
Bạn thêm một đoạn code sau vào file “main.js“
function viewdata(datapost) { var HTMLstring =''; for(i=0;i<datapost.length;i++){ } content.innerHTML = HTMLstring; }
sau đó thay dòng console.log(data); thành viewdata(data);
Trở lại website bạn tải lại và nhấn nút sẽ có kết quả như sau:
Bạn có thể lấy ra nhiều thành phần khác nữa dựa vào dữ liệu trả về. Đoạn code trên mình có tô đỏ từ title.rendered và excerpt.rendered tức là lấy tiêu đề và mô tả của bài viết, cái này các bạn có thể sử dụng console để phân tích.
Đầu tiên mình sẽ thêm một vùng nhập liệu cho giao diện bằng đoạn mã HTML sau:
Tiếp theo bạn thêm đoạn sau vào file main.js
var adddata = document.querySelector("#btn_adddata"); if(adddata){ var datapost ={ "title":document.querySelector('.form [name="title_name"]').value, "content":document.querySelector('.form [name="content_name"]').value, "status":"publish", } var post_data = new XMLHttpRequest(); post_data.open("POST","http://domain_của_bạn/wp-json/wp/v2/posts"); post_data.setRequestHeader("X-WP-Nonce",nonce); post_data.setRequestHeader("Content-Type", "application/json;charset=UTF-8") post_data.send(JSON.stringify(datapost)); }); }Trong phần code này bạn chú ý đến dòng post_data.setRequestHeader("X-WP-Nonce",nonce);. Nếu bạn không có nonce bạn sẽ không được xác thực việc đăng dữ liệu.
Để lấy Nonce bạn có thể sử dụng hàm wp_create_nonce('wp_rest') những người đã đăng nhập sẽ được cấp một none được xác thực và có thể đăng bài.
Như vậy là mình đã xong bài giới thiệu và hướng dẫn sử dụng cơ bản REST API của WordPress, các bạn có thể sử dụng nó để mở rộng trên nhiều nền tảng khác nhau.
Restful Api Là Gì? Cách Thiết Kế Restful Api
Có thể nói nguyên lí và cấu trúc dữ liệu RESTful được biết đến rộng rãi trong giới lập trình web nói chung và lập trình ứng dụng nói riêng.
Có thể nói bản thân REST không phải là một loại công nghệ. Nó là phương thức tạo API với nguyên lý tổ chức nhất định. Những nguyên lý này nhằm hướng dẫn lập trình viên tạo môi trường xử lý API request được toàn diện.
Để hiểu rõ hơn về RESTful API ta sẽ đi lần lượt giải thích các khái niệm API, REST hay RESTful.
RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.
API ( Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML.
REST ( REpresentational State T ransfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.
RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau.
Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API.
RESTful hoạt động như thế nào?
GET (SELECT): Trả về một Resource hoặc một danh sách Resource.
POST (CREATE): Tạo mới một Resource.
PUT (UPDATE): Cập nhật thông tin cho Resource.
DELETE (DELETE): Xoá một Resource.
Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.
Hiện tại đa số lập trình viên viết RESTful API giờ đây đều chọn JSON là format chính thức nhưng cũng có nhiều người chọn XML làm format, nói chung dùng thế nào cũng được miễn tiện và nhanh.
Authentication và dữ liệu trả về
RESTful API không sử dụng session và cookie, nó sử dụng một access_token với mỗi request. Dữ liệu trả về thường có cấu trúc như sau:
{ "data" : { "id": "1", "name": "TopDev" } }Status code
Khi chúng ta request một API nào đó thường thì sẽ có vài status code để nhận biết sau:
200 OK – Trả về thành công cho những phương thức GET, PUT, PATCH hoặc DELETE.
201 Created – Trả về khi một Resouce vừa được tạo thành công.
204 No Content – Trả về khi Resource xoá thành công.
304 Not Modified – Client có thể sử dụng dữ liệu cache.
400 Bad Request – Request không hợp lệ
401 Unauthorized – Request cần có auth.
403 Forbidden – bị từ chối không cho phép.
404 Not Found – Không tìm thấy resource từ URI
405 Method Not Allowed – Phương thức không cho phép với user hiện tại.
410 Gone – Resource không còn tồn tại, Version cũ đã không còn hỗ trợ.
415 Unsupported Media Type – Không hỗ trợ kiểu Resource này.
422 Unprocessable Entity – Dữ liệu không được xác thực
429 Too Many Requests – Request bị từ chối do bị giới hạn
Nên sử dụng Version
Luôn sử dụng version để khi bạn cần nâng cấp API mà vẫn hỗ trợ các API cũ.
Xây dựng API với Laravel
Lấy việc xây dựng api trên Laravel để làm ví dụ, trước khi đi vào ta tổng quan về Http Request.
HTTP Request
HTTP request có tất cả 9 loại method , 2 loại được sử dụng phổ biến nhất là GET và POST
GET: được sử dụng để lấy thông tin từ server theo URI đã cung cấp.
HEAD: giống với GET nhưng response trả về không có body, chỉ có header.
POST: gửi thông tin tới sever thông qua các biểu mẫu http.
PUT: ghi đè tất cả thông tin của đối tượng với những gì được gửi lên.
PATCH: ghi đè các thông tin được thay đổi của đối tượng.
DELETE: xóa tài nguyên trên server.
CONNECT: thiết lập một kết nối tới server theo URI.
OPTIONS: mô tả các tùy chọn giao tiếp cho resource.
TRACE: thực hiện một bài test loop – back theo đường dẫn đến resource.
RESTful Route
Viết Api thì sẽ khai báo router vào file routes/api.php thay vì sử dụng file routes/web.php. Các setting mặc cho file api.php trong laravel:
Url: những route được khai báo trong file này mặc định có prefix url là api (ví dụ: topdev.vn/api/products)
Middleware: mặc định sẽ được gán Middleware Group là api, trong file app/Http/Kernel sẽ thấy 2 middleware thuộc Middleware Group: api là throttle (giới hạn request / time) và bindings (model binding).
Có thể tùy chỉnh giá trị mặc định này trong method mapApiRoutes trong file app/Providers/RouteServiceProvider.php
Tạo các route để thực hiện các thao tác như CRUD (Create, Read, Update, Delete):
# Sử dụng put nếu update toàn bộ các field # Sử dụng patch nếu update 1 vài fieldMặc định route đã được gán middleware bindings, nếu muốn sử dụng model binding trong controller thì chúng ta sửa lại tham số trong route như sau:
Ngoài ra trong laravel cũng hỗ trợ chúng ta 1 cách khai báo ngắn gọn hơn:
Resource Controllers
Tương ứng với các Route RESTful đã khai báo ở trên, đặc biệt nếu dùng method apiResource thì laravel cũng hỗ trợ các method xử lí tương ứng trong controller.
Để tạo ra Resource Controllers chúng ta chạy lệnh sau
php artisan make:controller Api/ProductController -api File ProductController tạo ra sẽ như sau<?php namespace AppHttpControllersApi; use IlluminateHttpRequest; use AppHttpControllersController; class ProductController extends Controller { /** * Display a listing of the resource. * * @return IlluminateHttpResponse */ public function index() { } /** * Store a newly created resource in storage. * * @param IlluminateHttpRequest $request * @return IlluminateHttpResponse */ public function store(Request $request) { } /** * Display the specified resource. * * @param int $id * @return IlluminateHttpResponse */ public function show($id) { } /** * Update the specified resource in storage. * * @param IlluminateHttpRequest $request * @param int $id * @return IlluminateHttpResponse */ public function update(Request $request, $id) { } /** * Remove the specified resource from storage. * * @param int $id * @return IlluminateHttpResponse */ public function destroy($id) { } }Ngoài ra nếu muốn sử dụng model binding khi tạo Resource Controllers thì dùng lệnh bên dưới
php artisan make:controller Api/ProductController --api --model=Models/Product
File ProductController tạo ra sẽ như sau, chúng ta để ý tham số của các method show, update, destroy sẽ thay đổi 1 chút.
<?php namespace AppHttpControllersApi; use AppModelsProduct; use IlluminateHttpRequest; use AppHttpControllersController; class ProductController extends Controller { /** * Display a listing of the resource. * * @return IlluminateHttpResponse */ public function index() { } /** * Store a newly created resource in storage. * * @param IlluminateHttpRequest $request * @return IlluminateHttpResponse */ public function store(Request $request) { } /** * Display the specified resource. * * @param AppModelsProduct $product * @return IlluminateHttpResponse */ public function show(Product $product) { } /** * Update the specified resource in storage. * * @param IlluminateHttpRequest $request * @param AppModelsProduct $product * @return IlluminateHttpResponse */ public function update(Request $request, Product $product) { } /** * Remove the specified resource from storage. * * @param AppModelsProduct $product * @return IlluminateHttpResponse */ public function destroy(Product $product) { } }Demo 1 đoạn code đơn giản trong controller kết hợp với model binding và route apiResource khi xây dựng API:
<?php namespace AppHttpControllersApi; use AppHttpControllersController; use AppModelsProduct; use IlluminateHttpRequest; class ProductController extends Controller { /** * Display a listing of the resource. * */ public function index() { return Product::all(); } /** * Store a newly created resource in storage. * * @param Request $request */ public function store(Request $request) { } /** * Display the specified resource. * * @param Product $product * @return Product */ public function show(Product $product) { return $product; } /** * Update the specified resource in storage. * * @param Request $request * @param Product $product * @return bool */ public function update(Request $request, Product $product) { } /** * Remove the specified resource from storage. * * @param Product $product * @throws Exception */ public function destroy(Product $product) { } }Mặc định khi sử dụng route apiResource thì dữ liệu trả về sẽ tự động được chuyển sang kiểu JSON và sẽ có status tương ứng nên chỉ cần return dữ liệu ra là được.
Còn nếu muốn tùy biến status trả về thì có thể tham khảo cách phía dưới có sử dụng class IlluminateHttpResponse để lấy status thay vì fix giá trị vào ví dụ như HTTP_OK tương ứng sẽ là 200
<?php namespace AppHttpControllers; use AppModelsProduct; use IlluminateHttpRequest; use IlluminateHttpResponse; class ProductController extends Controller { /** * Display a listing of the resource. * * @return IlluminateHttpJsonResponse */ public function index() { $products = Product::all(); } } Eloquent ResourcesKhi xây dựng API, bạn có thể cần transform dữ liệu từ controller trước khi trả về cho người dùng ứng dụng của bạn, laravel cũng đã hỗ trợ điều này với Eloquent Resources
Để tạo ra 1 class chuyển đổi chúng ta chạy lệnh sau
php artisan make:resource Product
File app/Http/Resources/Product.php sẽ có nội dung như sau
<?php namespace AppHttpResources; use IlluminateHttpResourcesJsonJsonResource; class Product extends JsonResource { /** * Transform the resource into an array. * * @param IlluminateHttpRequest $request * @return array */ public function toArray($request) { return parent::toArray($request); } }Mình sẽ tùy chỉnh dữ liệu trả về là chỉ có title và price
<?php namespace AppHttpResources; use IlluminateHttpResourcesJsonJsonResource; class Product extends JsonResource{ /** * Transform the resource into an array. * * @param IlluminateHttpRequest $request * @return array */ public function toArray($request){ return [ ]; } }Ở controller thì mình sẽ sửa lại như sau
<?php namespace AppHttpControllersApi; use AppHttpControllersController; use AppModelsProduct; use IlluminateHttpRequest; use AppHttpResourcesProduct as ProductResource; class ProductController extends Controller{ /** * Display a listing of the resource. * */ public function index(){ $products = Product::all(); return ProductResource::collection($products); } /** * Store a newly created resource in storage. * * @param Request $request */ public function store(Request $request){ return new ProductResource($product); } /** * Display the specified resource. * * @param Product $product * @return Product */ public function show(Product $product){ return new ProductResource($product); } /** * Update the specified resource in storage. * * @param Request $request * @param Product $product * @return bool */ public function update(Request $request, Product $product){ } /** * Remove the specified resource from storage. * * @param Product $product * @throws Exception */ public function destroy(Product $product){ } }Authorization
Hiện tại có 3 cơ chế Authorize chính:
Tùy thuộc vào service của bạn, mà hãy chọn loại Authorize có mức độ phù hợp, cố gắng giữ nó càng đơn giản càng tốt.
CORS Policy
Viết API thì cũng cần chú ý về CORS là gì?
API Document
API document là một phần tương tự như Unit Test vậy - lấy ngắn để nuôi dài.
Mô tả đầy đủ về params request: gồm những params nào, datatype, require hay optional.
Nên đưa ra các ví dụ về HTTP requests và responses với data chuẩn.
Cập nhật Docs thường xuyên, để sát nhất với API có bất cứ thay đổi gì.
Format, cú pháp cần phải nhất quán, mô tả rõ ràng, chính xác.
Bài Hướng Dẫn WordPress Rest Api
access_time
Tháng Một 28, 2018
hourglass_empty
8ít nhất Đọc
Gần như tất cả những dân chuyên WordPress đều đã nghe tới REST API,nhờ vào việc thêm nó vào bản gốc năm 2015. Tuy nhiên, hầu hết các trường hợp chỉ những lập trình viên chuyên nghiệp mới nghiên cứu sâu về tính năng nay mạnh mẽ này.
WordPress Rest API bao gồm tất cả những API có thể được thích hợp vào themes, ứng dụng di động và hơn thế nữa. Nói cách khác, nó giúp lập trình viên tách biệt front end khỏi việc quản lý dữ liệu, giúp ứng dụng tương tác với WordPress. Học cách sử dụng công cụ này là mở ra cách cửa vô tận khả năng để mở rộng WordPress website của bạn.
Trong bài hướng dẫn này, chúng tôi sẽ giới thiệuc ho bạn biết về dự án WordPress Rest API, giải thích vì sao nó là một ý tưởng lớn, và chỉ vài cách ứng dụng. Hãy bắt đầu nhanh thôi nào!
Giới thiệu WordPress REST API
Từ khi ra mắt trong WordPress core, REST API đã có rất nhiều người dùng. Đây là cách để nâng cấp dự án của bạn, được truyền cảm hứng bởi những trường hợp cụ thể trên thế giới như sau:
Event Espresso sử dụng REST API để cung cấp cho lập trình viên khả năng truy cập vào hạ tầng nội bộ, khiến cho việc phát triển app dựa trên dịch vụ của họ dễ dàng hơn
Simmer giúp lập trình viên truy cập vào API để mở rộng tính năng hóa đơn thành một ứng dụng chính thức hoặc tùy chỉnh themes.
JoinIn tăng sức mạnh cho widget ’embeddable’ bằng REST API, khiến nó phổ biến bởi những luồng dữ liệu thích hợp bất kỳ khi nào nó hiển thị.
Đây chỉ là bề nổi của tảng băng mà những ý tưởng sáng tạo hơn có thể dùng với REST API. Tuy nhiên hãy tìm hiểu thêm cách REST API hoạt động.
Cách hoạt động của WordPress Rest API
Nói ngắn gọn, REST API hoạt động bằng cách xử lý dữ liệu từ một nơi tới nơi khác mà không truy cập trực tiếp vào database hoặc giao diện người dùng. Có nhiều loại Application Programming Interfaces (APIs), nhưng REST nổi bật vì là một chuẩn hiện đại.
REST APIs được đưa ra ở Hyper Text Transfer Protocol (HTTP), sử dụng cấu trúc JavaScript Object Notation (JSON). Nhưng kỹ thuật này cho phép API sử dụng địa chỉ web duy nhất để đưa dữ liệu thực thi như là JavaScript objects.
Nếu bạn chưa bao giờ làm việc với JavaScripts hoặc object notation trước đây, có thể bắt đầu bằng việc học cơ bản về JSON. Khi đã quyen với ý tưởng của REST API, hãy tìm hiểu về những ảnh hưởng lớn nó giành cho lâp trình viên WordPress.
Vì sao WordPress REST API có ảnh hưởng tới lập trình viên
Hơn nữa, vì REST API dựa trên JavaScript, việc tập trùng vào API đánh dấu bước chuyển về ngôn ngữ lập trình nào quan trọng để học. Bạn có thể JavaScript nền server là một PHP mới. Việc này có thể thấy được trong phần mềm mới của chúng tôi Calypso, vận hành hoàn toàn trên JavaScript và REST API.
Bằng cách chuẩn hóa ứng dụng (gồm WordPress’ core) tương tác với dữ liệu WordPress, quá trình phát triển WordPress sẽ dễ dàng hơn và mượt mà hơn. Còn nữa, nó sẽ dễ tương thích với nền tảng thứ 3 hơn.
Tuy nhiên, quá trình chuyển đổi có thể hơi khó khăn, đó là lý do vì sao rất quan trọng để học cách sử dụng công nghệ này bây giờ. Đã đến lúc học bước đầu sử dụng REST API để áp dụng cho dự án của bạn rồi đấy!
5 Bước để bắt đầu với WordPress REST API
Như đã nói ở trên REST API có thể được dùng với bất kỳ ứng dụng hay ngôn ngữ lập trình nào để gọi một HTTP endpoint (gần như là tất cả). Vì vậy, chúng ta sẽ tập trung sử dụng command line để thực thi REST API requests, vì nó là cách dễ nhất và ít lỗi lập trình nhất mà có thể xảy ra trong quá trình học.
Để làm vậy, bạn sẽ cần mở Command Line Interface (CLI) trên máy tính của bạn – Terminal trên macOS hay Linux, và Command Prompt trên Windows. CLI cho phép bạn trực tiếp tương tác với REST API, mà không phải viết thêm scripts để yêu và xử lý thông tin. Bất kỳ request nào được thực hiện trên CLI có thể được scripts thành PHP, JavaScript, và ngôn ngữ khác nhưng mỗi phương thức sẽ khác nhau. Ra lệnh trong CLI là đơn giản và rõ ràng. Chỉ cần gõ command bạn cần vàn hấn ENTER trên bàn phím.
Chúng tôi cũng khuyên tạo một site demo trên máy tính, thay vì hoàn tất bài hướng dẫn này trên site chạy thật. Cuối cùng, bạn chỉ cần tạo site WordPress bản 4.4 trở lên là được. Khi đã sẳn sàng, hãy bắt đầu học thôi!
Bước 1: Làm quen với những khái niệm chính của REST API
Trước khi bắt đầu, hãy làm quen với tất cả REST APIs trước khi tiếp tục. Có 5 khái niệm chính và thuật ngữ bạn cần nắm rõ. Hãy xem qua chúng:
‘Routes’ và ‘Endpoints’. Đây là phần quan trọng nhất của REST API cần. Route giúp bạn di chuyển qua endpoints, khi mà một phương thức HTTP nhất định (ví dụ: một dataset tĩnh hoặc một action) kết nối tới một route nhất định. Ví dụ, /wp-json/ là route được thiết kế như là một endpoint để cho chúng ta thấy các route khả dụng.
Requests. Được tạo ra để kích hoạt đúng endpoints và chuyển dữ liệu đi.
Responses. Cung cấp dữ liệu được yêu cầu hoặc trả về lỗi để bạn biết có gì đó không đúng.
Schemas. Những mẫu responses, để bạn luôn biết chính xác nơi nào cần tìm cho ra đúng dữ liệu.
Controller classes. Trong điều kiện của layman, họ cho phép dựng route và endpoint riêng. Bây giờ, bạn không cần phải nghĩ tới những điều này, mặc dù có thể chúng sẽ hữu dụng sau này.
Khi bạn đã hiểu 5 khái niệm trên, bạn có thể bắt đầu đào sâu vào REST API, bắt đầu với endpoints.
Bước 2: Tìm hiểu về những Endpoints REST API hữu dụng nhất
WordPress REST API cho bạn một sách mẫu gồm tất cả những endpoints hữu dụng. Trước tiên, bạn cần biết cấu trúc làm thế nào một HTTP gọi tới một REST API. Cơ bản mỗi lần WordPress REST API gọi như sau, (thay thế chúng tôi thành tên miền của bạn):
http://yourdomain.com/wp-json/Bạn có thể thử kết nối bằng cách thực thi lệnh curl trong CLI bằng URL của riêng bạn:
curl -X OPTIONS -i http://yourdomain.com/wp-json/Bạn sẽ được chào bằng một thông báo HTTP thành công. Sau đó bạn có thể tiếp tục và lặp lại câu lệnh này với các endpoints chính. Lần này, chúng ta sẽ dùng Get của curl.
Để lấy danh sách JSON của một post WordPress, bạn có thể dùng lệnh sau:
curl -X GET -i http://yourdomain.com/wp-json/wp/v2/postsNgoài ra, hãy thử kiểm tra những trang đang tồn tại của WordPress:
curl -X GET -i http://yourdomain.com/wp-json/wp/v2/pagesBước 3: Học cách chứng thực API cơ bản của REST API
Đã đến lúc tìm hiểu về cách xác thực. Một số actions và data trong REST API là public, nhưng những phần khác cần đăng nhập dưới dạng administrator. Tuy nhiên, với REST API, không có cách để đăng nhập. Ngoài trừ việc bạn chứng thực bạn trước khi gọi mỗi câu lệnh cần quyền admin, như là hiển thị những nội dung chưa public hoặc cập nhật bài post.
Bằng cách cài đặt plugin WordPress REST API Basic Auth.Đây là plugin thí nghiệm để học về REST API nhanh chóng, nó không được dùng cho những site đã vận hành. Tuy nhiên, quá trình cài đặt cũng như các plugin khác.
Khi Basic Auth đã được cài đặt, bạn có thể chứng thực qua CLI với cờ user. Đây là ví dụ làm sao để áp dụng chứng thực cho user, bằng cách dùng curl để hiển thị các bài viết chưa được xuất bản.:
curl -X GET --user username:password -i http://yourdomain.com/wp-json/wp/v2/posts?status=draftBước 4: Chọn bài viết đầu tiên của bạn với REST API
Khi bạn đã hiểu làm thế nào để tạo một call cơ bản tới REST API sử dụng curl, hãy thử chọn một bài viết. Đầu tiên, liệt kê tất cả bài viết như là bạn đã làm trước đây:
curl -X GET -i http://yourdomain.com/wp-json/wp/v2/postsBước 5: Cập nhật bài viết WordPress với REST API
Cuối cùng, hãy thử cập nhật bài viết. Thay vì sử dụng lệnh OPTION và GET, lần này chúng ta sẽ dùng POST để thay đổi. GET được dùng để đọc dữ liệu, POST được dùng để gửi nó đi.
Hãy thay đổi tiêu đề bài viết., bằng cách gửi yêu cầu POST với chứng thực. Thay đổi sẽ được chia sẽ bằng cách sử dụng cờ d tại cuối mỗi lệnh. Bạn sẽ chuyển một đối tượng JavaScript với biết title thành một giá trị khác, như là My New Title, như lệnh bên dưới:
WordPress REST API là một phần mạnh mẽ của lõi WordPress, một số lập trình viên đã tìm hiểu kỹ về khả năng của nó. Kết quả nếu bạn bắt đầu tìm hiểu sớm và học cách làm việc với nó có thể khiến bạn trở thành một lập trình có nhiều lợi thế hơn, và giúp bạn tạo những ứng dụng sử dụng WordPress làm framework.
Để tổng kết, đây là năm bước đầu tiên cần học để tương tác với WordPress REST API:
Làm quen khái niệm của REST API.
Tìm hiểu những REST API endpoints hữu dụng nhất.
Học cách cơ bản của chứng thực qua REST API .
Chọn bài post đầu tiên của WordPress REST API.
Cập nhật bài viết WordPress với REST API.
Restful Api Web Service Là Gì Tạo Restful Api Web Service Trong Java Spring Boot
Trong bài viết này, mình muốn giới thiệu cho các bạn biết restful api web service là gì
Sau khi tìm hiểu được khái niệm restful api web service là gìthì mình tiếp tục hướng dẫn các bạn tạo web services trong java web sử dụng spring boot như thế nào với các đội tượng:
@Controller, @RequestBody, @ResponseBody, @RequestMapping
Việc tạo restful api web service trong java web sử dụng spring boot cũng như biết về khái niệm restful api web service là gì giúp ích rất nhiều cho các bạn khi join
Khóa học spring boot cơ bản miễn phí
Restful api web service là gì
Mô tả restful api web service là gì của TIKI với mô hình đơn giản
Web service thì có 2 dạng:
Dạng mà chúng ta hay xài nhất đó là REST, nó sử dụng kiểu dữ liệu JSON để tương tác
Nhìn vào hình trên bạn sẽ rõ, app và web chắc chắn cách binding data hay truy vấn tới server nó sẽ khác nhau, tuy nhiên để đồng bộ dữ liệu, hệ thống TIKI chẳng hạn họ sẽ dùng cơ chế này để đồng bộ. Khi ta thay đổi data trên app hay web thì cả web và app sẽ đồng bộ dữ liệu như nhau. Như đã nói, cách binding data và truy vấn dữ liệu của app hay web sẽ khác nhau, do đó chúng ta cần 1 kĩ thuật để đồng bộ input hay output khi app hay web truyền data về server và ngược lại. Và kĩ thuật dùng ở đây đó chính là web service và cụ thể chúng ta sử dụng REST API với JSON data.
Các phần mềm và thư viện sử dụng
– spring boot 1.5.9.RELEASE
Các bạn làm theo các bước như sau
Bước 1: trong package chúng tôi bạn tạo 1 file có tên là chúng tôi và copy đoạn code phía dưới vào
Bước 2: tạo package chúng tôi
Bước 3: trong package chúng tôi tạo 1 file có tên chúng tôi và copy đoạn code phía dưới vào file
Nhập url và chọn http method theo api định nghĩa
Anh em chú ý là bước 4 chính là đoạn json data mà chúng ta sẽ post lên server
Khóa học spring boot cơ bản miễn phí
Cập nhật thông tin chi tiết về Rest Api Là Gì? Giới Thiệu Và Cách Sử Dụng WordPress Rest Api Cơ Bản trên website Ezlearning.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!