我如何格式化休息 api

SuperSimplePimpleDimple

我有一个非常基本的 RESTful api 在我的本地主机上运行,​​它看起来像这样:

http://prntscr.com/nd8kpn

或在文本中:

{"course_id":"1",
"course_creator_id":"1",
"course_name":"Chanel Introduction",
"course_description":"In this course i will discuss info about myself and what you will be learning on my Chanel.",
"course_thumbnail":"\/public\/course_images\/0.jpg",
"date_added":"2019-04-17 15:25:39"
}
{"course_id":"2",
"course_creator_id":"1",
"course_name":"Getting started with Web Develop",
"course_description":"In this course, you will learn the basic concepts of Web Development. ",
"course_thumbnail":"\/public\/course_images\/1.jpg",
"date_added":"2019-04-17 15:25:39"
}
{"course_id":"3",
"course_creator_id":"1",
"course_name":"HTML and CSS Introduction",
"course_description":"In this course, I will go in depth on HTML, CSS and front end development of basic static webpages.",
"course_thumbnail":"\/public\/course_images\/2.jpg",
"date_added":"2019-04-17 15:25:39"
}
{"course_id":"4","course_creator_id":"1","course_name":"JavaScript and React Basics.","course_description":"In this course, we will dive deep into JavaScript and briefly go over the basics of React","course_thumbnail":"\/public\/course_images\/3.jpg","date_added":"2019-04-17 15:25:39"}
{"course_id":"5","course_creator_id":"1","course_name":"Building REST apis with Node and Express","course_description":"In this course, we will go in depth on REST apis and build one in the second half of the course.","course_thumbnail":"\/public\/course_images\/4.jpg","date_added":"2019-04-17 15:25:39"}
{"course_id":"6","course_creator_id":"1","course_name":"Building an e-books website from scratch","course_description":"In this course we will build an e-books website and combine everything from the previus 5 tutorials.","course_thumbnail":"\/public\/course_images\/5.jpg","date_added":"2019-04-17 15:25:39"}
{"course_id":"7","course_creator_id":"3","course_name":"What is Game Development","course_description":"In-depth look on game development (theory only, no code).","course_thumbnail":"\/public\/course_images\/6.jpg","date_added":"2019-04-17 15:25:39"}
{"course_id":"8","course_creator_id":"3","course_name":"C++ For Game Development","course_description":"In this massive course, i will teach you everything about C++ and touch on concepts for game development in C++.","course_thumbnail":"\/public\/course_images\/7.jpg","date_added":"2019-04-17 15:25:39"}
{"course_id":"9","course_creator_id":"3","course_name":"Introduction to Unreal Engine 4 ","course_description":"Here we will combine what you learnt in the previus course with Unreal Engine4 and start developing small games","course_thumbnail":"\/public\/course_images\/8.jpg","date_added":"2019-04-17 15:25:39"}
{"course_id":"10","course_creator_id":"3","course_name":"Making a turn based RPG with UE4 and C++","course_description":"In this tutorial, we will combined the previus 2 courses and make a turn based RPG from scratch","course_thumbnail":"\/public\/course_images\/9.jpg","date_added":"2019-04-17 15:25:39"}

我的代码如下:

include('../connect.php');
$stmt = $db->query('SELECT * FROM courses');
$result = $stmt->fetchAll(PDO::FETCH_OBJ);

foreach($result as $row){

    if(isset($_GET['course_id'])){
        if($row->course_id == $_GET['course_id']){
            echo json_encode($row);
        }
    } else if (isset($_GET['creator_id'])){
        if($row->course_creator_id == $_GET['creator_id']){
            echo json_encode($row);
        }
    } else {
        echo json_encode($row);
    }

}

正如我所说,非常简单。我将它用作测试 API 而不是生产 API。

我的问题是,为什么大多数 REST api 都非常像 facebook graph 的东西,但我的 REST API 总是有一个丑陋的格式?我如何使我的 REST api 漂亮?:D

哈坎·森梅兹

首先,您需要创建一个有效的 json 输出,然后您需要声明您的输出是一个 json,如下所示;

header('Content-Type: application/json');
include('../connect.php');
$stmt = $db->query('SELECT * FROM courses');
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
$rows = [];
foreach($result as $row){
    if(isset($_GET['course_id'])){
        if($row->course_id == $_GET['course_id']){
            $rows[] = $row;
        }
    } else if (isset($_GET['creator_id'])){
        if($row->course_creator_id == $_GET['creator_id']){
             $rows[] = $row;
        }
    } else {
         $rows[] = $row;
    }
}
echo json_encode($rows, JSON_PRETTY_PRINT); 

JSON_PRETTY_PRINT 负责按行而不是单行打印数据

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何格式化对GitHub API的请求

来自分类Dev

如何格式化docker API?

来自分类Dev

如何格式化我的api调用以在Google电子表格中发布?

来自分类Dev

如何格式化Savon Request for Cybersource SOAP API

来自分类Dev

如何使用Javscript格式化API请求的标头?

来自分类Dev

如何从 api 响应 Angular HttpClient 格式化数据

来自分类Dev

如何使用 Intl.DateTimeFormat API 格式化毫秒

来自分类Dev

我该如何正确地格式化来自Backpack.tf API请求的JSON数据?

来自分类Dev

格式化API的JSON数组

来自分类Dev

使用Slack API格式化帖子

来自分类Dev

格式化Google Charts API的JSON

来自分类Dev

格式化RESTful API返回的json

来自分类Dev

格式化API的JSON数组

来自分类Dev

格式化来自Web API的响应

来自分类Dev

GraphQL Github API 格式化

来自分类Dev

我可以在Google Places API调用中使用格式化的地址吗

来自分类Dev

在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

来自分类Dev

在浏览器中查看时,Facebook如何格式化其API的JSON输出?

来自分类Dev

向Rails API发出POST请求时如何格式化日期字段

来自分类Dev

如何更好地格式化从api提取到蚂蚁设计表上的数据

来自分类Dev

如何在test.each的jest api中格式化测试标题

来自分类Dev

如何最好地显示Web API和客户端之间的格式化属性

来自分类Dev

如何使用json.dumps格式化Python,以使Lambda函数正确响应API网关?

来自分类Dev

如何在Spring Boot REST API中格式化返回的json?

来自分类Dev

如何在Spring Boot REST API中格式化返回的json?

来自分类Dev

如何在Spring Boot REST API中格式化返回的json?

来自分类Dev

如何在服务用户活动供稿中格式化Alfresco'API参数activityFilter?

来自分类Dev

在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

来自分类Dev

如何在Web API 2中实现MongoDB Bson格式化程序?

Related 相关文章

  1. 1

    如何格式化对GitHub API的请求

  2. 2

    如何格式化docker API?

  3. 3

    如何格式化我的api调用以在Google电子表格中发布?

  4. 4

    如何格式化Savon Request for Cybersource SOAP API

  5. 5

    如何使用Javscript格式化API请求的标头?

  6. 6

    如何从 api 响应 Angular HttpClient 格式化数据

  7. 7

    如何使用 Intl.DateTimeFormat API 格式化毫秒

  8. 8

    我该如何正确地格式化来自Backpack.tf API请求的JSON数据?

  9. 9

    格式化API的JSON数组

  10. 10

    使用Slack API格式化帖子

  11. 11

    格式化Google Charts API的JSON

  12. 12

    格式化RESTful API返回的json

  13. 13

    格式化API的JSON数组

  14. 14

    格式化来自Web API的响应

  15. 15

    GraphQL Github API 格式化

  16. 16

    我可以在Google Places API调用中使用格式化的地址吗

  17. 17

    在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

  18. 18

    在浏览器中查看时,Facebook如何格式化其API的JSON输出?

  19. 19

    向Rails API发出POST请求时如何格式化日期字段

  20. 20

    如何更好地格式化从api提取到蚂蚁设计表上的数据

  21. 21

    如何在test.each的jest api中格式化测试标题

  22. 22

    如何最好地显示Web API和客户端之间的格式化属性

  23. 23

    如何使用json.dumps格式化Python,以使Lambda函数正确响应API网关?

  24. 24

    如何在Spring Boot REST API中格式化返回的json?

  25. 25

    如何在Spring Boot REST API中格式化返回的json?

  26. 26

    如何在Spring Boot REST API中格式化返回的json?

  27. 27

    如何在服务用户活动供稿中格式化Alfresco'API参数activityFilter?

  28. 28

    在Pentaho Kettle中,如何为Google Analytics(分析)API的参数生成格式化日期?

  29. 29

    如何在Web API 2中实现MongoDB Bson格式化程序?

热门标签

归档