zoukankan      html  css  js  c++  java
  • 【转】简单的 Laravel 5 REST API

    Introduction

    Almost all successful internet based companies have APIs. API is an acronym for Application Programming Interface. APIs allows different systems to communicate with one another. Let’s say you have developed an android application for our online store. The API can be used to retrieve data from the online store and display it in the mobile application. The API can also be used to process orders from remote clients such as mobile applications, other websites etc.

    Topics to be covered

    We will cover the following topics

    • What is a RESTful API?
    • REST API Best Practices
    • Larashop API

    What is a RESTful API?

    REST is the acronym for Representational State Transition. It is a software architectural design for building scalable web services. REST APIs allow systems to communicate over HTTP using HTTP verbs. HTTP GET is used to get resources, POST used to create new resources, PUT to update existing ones and DELETE to delete existing resources.

    REST API Best Practices

    This is a summary from the blog post we posted on Kode Blog 10 REST API Design Best Practices That Will Make Developers Love Your API. Read the article for detailed explanations of this summary.

    1. Best Practice # 1: Use HTTP VERBS to determine action to be taken
    2. Best Practice # 2: API Versioning
    3. Best Practice # 3: Use plurals to describe resources
    4. Best Practice # 4: Use query strings to build relations
    5. Best Practice # 5: Partial responses
    6. Best Practice # 6: Response Codes and Error Handling
    7. Best Practice # 7: Limit the number of request in a given time period from the same IP Address
    8. Best Practice # 8: Use OAuth latest version for authentication
    9. Best Practice # 9: use JSON as the default
    10. Best Practice # 10: Cache GET results for less frequently changing data

    Larashop API

    For now, we will only display the products and categories. Our API will implement basic authentication only. Future tutorial updates will include more functionality.

    Our API will have the following URLs. All the URLs will use the HTTP verb GET

    S/NResourceURLDescriptionStatus Code
    1 Product /api/v1/products List products 200
    2 Product /api/v1/products/1 List product with id 1 200
    3 Category /api/v1/categories List categories 200
    4 Category /api/v1/categories/1 List category with id 1 200

    Let’s now create the routes that will give us

    1. Open /app/Http/routes.php
    2. Add the following routes
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    // API routes...
    Route::get('/api/v1/products/{id?}'['middleware' => 'auth.basic'function($id null{
    if ($id == null{
        $products AppProduct::all(array('id''name''price'));
    else {
        $products AppProduct::find($idarray('id''name''price'));
    }
    return Response::json(array(
                'error' => false,
                'products' => $products,
                'status_code' => 200
            ));
    }]);
    
    Route::get('/api/v1/categories/{id?}'['middleware' => 'auth.basic'function($id null{
    if ($id == null{
        $categories AppCategory::all(array('id''name'));
    else {
        $categories AppCategory::find($idarray('id''name'));
    }
    return Response::json(array(
                'error' => false,
                'user' => $categories,
                'status_code' => 200
            ));
    }]);
    

    HERE,

    • Route::get('/api/v1/products/{id?}'['middleware' => 'auth.basic'function($id null) defines a RESTful URL for version 1 of the API. The requested resource is Products. {id?} specifies an optional parameter. The id is used to retrieve a single product. The API uses basic authentication
    • The routes are calling the respective models to retrieve the data from the database.
    • return Response::json() returns the results in JSON format.

    Load the following URL in your web browser

    1
    
    http://localhost/larashop/public/api/v1/products
    

    You will get the following basic Authentication login window

    Use composer here

    User a registered email address and password from the previous tutorial on Authetication You will get the following results

    Use composer here

    Summary

    Building a basic REST API in Laravel is no more than retrieving data using models and formatting the response to JSON. The future tutorial updates will build a fairly complex API that will do more.

    Tutorial History

    Tutorial version 1: Date Published 2015-08-31

    代码文件

  • 相关阅读:
    为什么程序员难找对象?
    项目为什么会失败(预估时间真的很难,必须有充分的心理准备,所有人高度重视项目的难度。总结:如果客户觉得事情简单,那么项目一定会延期。如果客户和老板都觉得事情简单,那么项目会烂尾)
    在Ubuntu 12.04 LTS下成功访问Windows域共享(mount //192.168.1.102/share -o user=DOMIAN\user,pass=passwd /mnt)
    微服务架构
    net core web服务器实现
    突破内存限制的高性能排序
    .Net Core:部署应用
    Apollo的Oracle适配
    前端模块化
    通用的业务技术架构
  • 原文地址:https://www.cnblogs.com/mimime/p/5927756.html
Copyright © 2011-2022 走看看