使用Django 2.0构建Python Restful Web服务:七)在浏览器中浏览和调试restful接口

一、前言

在之前的文章中,我们创建好的web接口都通过Postman这个软件调用各种HTTP请求方法来进行调试和查看,这样返回的结果很容易被编程语言和应用程序所接收和识别,但是却并不便于我们直观的查看。

之前我们使用OPTION方法对接口进行请求测试的时候,会发现接口的头描述中提示不仅会渲染json数据,还会渲染html数据:

这是django-rest-framework框架为api的请求方设定的:在默认情况下,接口返回标头指定的格式。像我们使用Postman软件,默认的标头会是application/json,其就会返回json格式的数据:

如果我们使用浏览器对接口进行访问,浏览器默认的请求标头会是text/html,接口就会将数据以HTML的形式进行返回。下面我们来试验一下。

二、在浏览器中浏览接口

不需要做其他额外的配置,直接在浏览器中打开API接口的URL地址,就可以看到以HTML文档而不是JSON格式呈现出来的接口响应数据,如下图所示:

可以看到,api接口的响应以比较友好和美观的HTML显示在浏览器中,django-rest-framework框架默认使用bootstrap前端框架来呈现页面的样式。

除了简单了浏览接口之外,HTML形式的接口还提供了页面按钮和表单供我们直接在浏览器上进行简单的接口调试,只要是接口设置所允许的HTTP请求方法,页面上都会有相关按钮来提供操作,如下图的电影列表接口所示,页面上提供了OPTION、GET和POST三个请求方法的操作:

在电影详情接口,则提供了DELETE、OPTION、GET和PUT请求方法的操作:

通过这些页面的操作,我们不需要再打开Postman软件,而是直接在浏览器中对接口进行各种调试。

当然,如果想要在浏览器中查看json格式的响应,也是可以做到的。

默认情况下,接口在浏览器中返回HTML格式,但是我们可以使用format参数指定响应的格式,比如返回json格式数据电影列表的url为:

http://127.0.0.1:8000/movielist/?format=json

使用了format参数指定返回数据为json数据,那么浏览器中就会直接呈现json数据,如下图所示:

如果将format参数的值改为api,那么其显示方式又将是HTML。django-rest-framework框架的这个功能是不是很有用?

猜你也喜欢

发表评论

邮箱地址不会被公开。