代码实践

  资源接口类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对上面定义好的接口进行使用。

python关于 微型微服务框架bottle实践的更多相关文章

  1. 高性能高可用的微服务框架TarsGo的腾讯实践

    conference/2.3 高性能高可用的微服务框架TarsGo的腾讯实践 - 陈明杰.pdf at master · gopherchina/conferencehttps://github.co ...

  2. .Net微服务实践(一):微服务框架选型

    微服务框架 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很 ...

  3. 推荐一款 Python 微服务框架 - Nameko

    1. 前言 大家好,我是安果! 考虑到 Python 性能及效率性,Python Web 端一直不温不火,JAVA 和 Golang 的微服务生态一直很繁荣,也被广泛用于企业级应用开发当中 ​本篇文章 ...

  4. Dubbo Ecosystem - 从微服务框架到微服务生态

    从微服务框架到微服务生态,这是微服务发展的必然趋势,也是Dubbo社区满足开发者更高效的构建微服务体系期望的使命和担当. 近期,Apache Dubbo PPMC 望陶(社区昵称:ralf0131)做 ...

  5. [goa]golang微服务框架学习--安装使用

      当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码, ...

  6. 从Uber微服务看最佳实践如何炼成?

    导读:Uber成长非常迅速,工程师团队快速扩充,据说Uber有2000名工程师,8000个代码仓库,部署了1000多个微服务.微服务架构是Uber应对技术团队快速增长,功能快速上线很出色的解决方案.本 ...

  7. spring cloud 入门,看一个微服务框架的「五脏六腑」

    Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 注:Spring Boot 简单理解就是简化 Spring 项目的搭建.配置.组 ...

  8. 从 Spring Cloud 看一个微服务框架的「五脏六腑」

    原文:https://webfe.kujiale.com/spring-could-heart/ Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构 ...

  9. 微服务框架Lagom介绍之一

    背景 Lagom是JAVA系下响应式 微服务框架,在阅读本文之前请先阅读微服务架构设计,Lagom与其他微服务框架相比,与众不同的特性包括: 目前,大多数已有的微服务框架关注于简化单个微服务的构建-- ...

随机推荐

  1. C# 运行时的关系

    简介 记录c#对象在托管堆中运行时的相互关系,如下记录了一个方法在执行时候的生命周期,当方法在之前,CLR会先执行将方法里面所有用到的局部变量.参数对应的内存地址等全部存放当前线程栈当中,并且会将所有 ...

  2. 3.JavaCC 语法描述文件的格式解析

      JavaCC的语法描述文件格式如下所示: options { JavaCC的选项 } PARSER_BEGIN(解析器类名) package 包名; import 库名; public class ...

  3. mssql sqlserver sql脚本自动遍历重复生成指定表记录

    摘要: 今天接到老板的需求,需根据一张表中列值,自动重复表中的数据行,然后显示给用户 实验环境:sqlserver 2008 R2 转自:http://www.maomao365.com/?p=841 ...

  4. 3. 海思Hi3519A MPP从入门到精通(三 视频输入)

    视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口.LVDS 接口和 HISPI 接 口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据. ...

  5. 使history命令显示时间

      添加环境变量HISTTIMEFORMAT就行了 # export HISTTIMEFORMAT='%F %T ' .csharpcode, .csharpcode pre { font-size: ...

  6. 如何将MagicaVoxel模型导入UE4中(1)

    前言 当初在选择自己项目的美术风格时,由于自己的美术基础实在是太差,所以选择了体素风格来构建(其实还是MagicaVoxel的建模操作很容易上手),但是将自己千辛万苦做好的模型导入至项目中时,出现了这 ...

  7. windows宿主机和docker容器设置挂载共享文件夹

    docker容器内的程序经常需要访问.调用宿主机目录中的数据,每次都要导入导出非常麻烦费力. 接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中. 1. 打开Oracle VM Vitua ...

  8. 浅谈JS函数防抖及应用场景

    [前言] 在工作中,我们可能碰到这样的问题: 用户在搜索的时候,在不停敲字,如果每敲一个字我们就要调一次接口,接口调用太频繁,给卡住了. 用户在阅读文章的时候,我们需要监听用户滚动到了哪个标题,但是每 ...

  9. Visual Studio 2017 编译 gens 世嘉模拟器

    1) 下载源代码 2.14 版本 http://gens.me/downloads.shtml 2) 下载 老版本 DirectX 并且安装 https://github.com/apitrace/a ...

  10. Java 虚拟机编程接口JVMIT

    JVMTI(JVM Tool Interface)是 Java 虚拟机所提供的 native 编程接口,是 JVMPI(Java Virtual Machine Profiler Interface) ...