zoukankan      html  css  js  c++  java
  • python关于 微型微服务框架bottle实践

      代码实践

      资源接口类MyWeb.py,定义了资源接口,代码时python2的代码,和3语法略有不同!

      # coding: utf-8

      import json

      import logging

      import os

      from bottle import get, run, post, request, response, put

      class MyWeb(object):

      excepted_return = "success"

      base_url = "/api/MyWeb/v1"

      test_url = base_url + "/test"

      set_response_url = base_url + "/set_response"

      send_motep_url = base_url + "/channel"

      @staticmethod

      @post(send_motep_url)

      def send_json_body():

      response.content_type = 'application/json'

      return MyWeb.excepted_return

      @staticmethod

      @put(set_response_url)

      def set_response():

      response.content_type = 'application/json'

      body = request.json # request对象里的,json属性,是字典类型

      if body is None:郑州人流医院哪家好 http://m.zzzy120.com/

      return {'code': 1, 'message': 'body param is null'}

      if type(body) is not dict:

      return {'code': 1, 'message': 'body param is not dict'}

      MyWeb.excepted_return = body

      # 返回值既可以直接发送字典类型对象,框架支持自动转换

      # 也可以用json.dumpes(object)转成字符串发送,客户端收到的是完全相同的

      return {"code": 0, "message": "success"}

      @staticmethod

      @get(test_url)

      def check_connection():

      response.content_type = 'application/json'

      return {"code": 0, "message": {"excepted_return": MyWeb.excepted_return}}

      服务启动类,Main.py:

      # coding=utf-8

      import json

      import logging

      import os

      from bottle import get, run, post, request, response

      import MyWeb # 必须显式导入,才能使用该类中定义好的资源接口

      if __name__ == '__main__':

      logging.info("start pa-tcp-rnc fake service")

      run(host='0.0.0.0', port=8087, debug=True)

      使用:python Main.py,即可启动微服务,使用可使用postman对上面定义好的接口进行使用。

  • 相关阅读:
    phalcon之视图缓存
    Java NIO框架Netty教程(一) – Hello Netty
    setsockopt的作用
    支持向量机通俗导论(理解SVM的三层境地)
    quartz中的corn表达式(转)
    Applet 数字签名技术全然攻略
    SJTU 3001. 二哥的幸运
    OGRE之跳出漫长的编译等待
    VB.NET 数组的定义 动态使用 多维数组
    【Python】用Python的“结巴”模块进行分词
  • 原文地址:https://www.cnblogs.com/djw12333/p/12055226.html
Copyright © 2011-2022 走看看