中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Falcon學習筆記2——修改響應狀態

發布時間:2020-06-21 16:49:16 來源:網絡 閱讀:335 作者:sushisuren 欄目:編程語言

本節嘗試從client發送json到服務器,然后服務器根據內容響應

1.測試客戶端發送與接收輸出
import json,falcon

class ObjRequestClass:
    def on_get(self,req,resp):
        resp.status = falcon.HTTP_200
        data = json.loads(req.stream.read())
        content = {
            'name':'falcon',
            'age':30
        }
        resp.body=json.dumps(data)

api = falcon.API()
api.add_route('/test',ObjRequestClass())

req.stream.read() #讀取客戶端請求內容

發送測試請求,我用httpie,喜歡用postman的在Body,raw中添加即可。

http get localhost:8080/test name="hello"

注意發送時用雙引號,不要用單引號。單引號會報錯。

一切正常能看到如下輸出:

HTTP/1.1 200 OK
Content-Length: 17
Content-Type: application/json
Date: Fri, 08 Nov 2019 03:39:59 GMT
Server: waitress

{
    "name": "hello"
}
2.嘗試根據發送內容獲取不同結果
{
"method":"get-name"
}
import json,falcon

class ObjRequestClass:
    def on_get(self,req,resp):
        resp.status = falcon.HTTP_200
        data = json.loads(req.stream.read())
        content = {
            'name':'falcon',
            'age':30
        }
        value={}
        if data["method"]=="get-name":
            value['value']=content['name']
        else:
            value['value']=None
        resp.body=json.dumps(value)

api = falcon.API()
api.add_route('/test',ObjRequestClass())

httpie測試

http get localhost:8080/test falcon_test:api method="get-name"  #結果正常
http get localhost:8080/test falcon_test:api method="get-names" #結果為null
3.添加不同http狀態
import json,falcon

class ObjRequestClass:
    def on_get(self,req,resp):
        resp.status = falcon.HTTP_200
        data = json.loads(req.stream.read())
        content = {
            'name': 'falcon',
            'age': 30
        }
        value = {}
        if "method" not in data: #檢測內容是否包含請求信息
            resp.status == falcon.HTTP_501 
        else:
            if data["method"] == "get-name":
                value['value'] = content['name']
            elif data["method"] == "get-age":
                value['age'] = content['age']
            else:
                resp.status = falcon.HTTP_404
                value['value'] = None

        resp.body = json.dumps(value)

api = falcon.API()
api.add_route('/test',ObjRequestClass())

req.stream 可用

['__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__
enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__ne__', '__new__', '__nex
t__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', 'close', 'c
losed', 'detach', 'fileno', 'flush', 'getbuffer', 'getvalue', 'isatty', 'read', 'read1', 'readable', 'readinto', 'readinto1', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'wr
ite', 'writelines']
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新晃| 丰台区| 柘荣县| 鄂托克旗| 文水县| 罗山县| 连平县| 城口县| 大足县| 洛阳市| 北票市| 碌曲县| 界首市| 京山县| 四子王旗| 南部县| 淳化县| 邹平县| 孟村| 东方市| 北流市| 沙田区| 马鞍山市| 错那县| 湖州市| 汉川市| 巧家县| 灯塔市| 贵定县| 文山县| 建始县| 梅河口市| 乐安县| 临邑县| 康保县| 七台河市| 田阳县| 普格县| 海伦市| 肃宁县| 泸定县|