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对上面定义好的接口进行使用。
python关于 微型微服务框架bottle实践的更多相关文章
- 高性能高可用的微服务框架TarsGo的腾讯实践
conference/2.3 高性能高可用的微服务框架TarsGo的腾讯实践 - 陈明杰.pdf at master · gopherchina/conferencehttps://github.co ...
- .Net微服务实践(一):微服务框架选型
微服务框架 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很 ...
- 推荐一款 Python 微服务框架 - Nameko
1. 前言 大家好,我是安果! 考虑到 Python 性能及效率性,Python Web 端一直不温不火,JAVA 和 Golang 的微服务生态一直很繁荣,也被广泛用于企业级应用开发当中 本篇文章 ...
- Dubbo Ecosystem - 从微服务框架到微服务生态
从微服务框架到微服务生态,这是微服务发展的必然趋势,也是Dubbo社区满足开发者更高效的构建微服务体系期望的使命和担当. 近期,Apache Dubbo PPMC 望陶(社区昵称:ralf0131)做 ...
- [goa]golang微服务框架学习--安装使用
当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码, ...
- 从Uber微服务看最佳实践如何炼成?
导读:Uber成长非常迅速,工程师团队快速扩充,据说Uber有2000名工程师,8000个代码仓库,部署了1000多个微服务.微服务架构是Uber应对技术团队快速增长,功能快速上线很出色的解决方案.本 ...
- spring cloud 入门,看一个微服务框架的「五脏六腑」
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 注:Spring Boot 简单理解就是简化 Spring 项目的搭建.配置.组 ...
- 从 Spring Cloud 看一个微服务框架的「五脏六腑」
原文:https://webfe.kujiale.com/spring-could-heart/ Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构 ...
- 微服务框架Lagom介绍之一
背景 Lagom是JAVA系下响应式 微服务框架,在阅读本文之前请先阅读微服务架构设计,Lagom与其他微服务框架相比,与众不同的特性包括: 目前,大多数已有的微服务框架关注于简化单个微服务的构建-- ...
随机推荐
- Android SearchView不显示搜索icon
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/80 背景: 之前碰到了一个页面展示问题,SearchVie ...
- PL/SQL编写的SQL语句插入SqlPlus时,报错 PLS-00302
最近刚开始用PL/SQL,然后发现写SQL语句时,运行的时候,会对表中的字段报错. 好像是对字段的使用有问题 原来写的错误代码大概像这样 DECLARE xuehao XSB.id% TYPE; BE ...
- hive的metatable学习
一.存储Hive版本的元数据表(VERSION)   二.Hive数据库相关的元数据表(DBS.DATABASE_PARAMS) DBS --存储Hive中所有数据库的基本信息   DATAB ...
- [PHP] 运维新增服务器导致的附件上传失败问题
现象:客服反馈webmail发信上传附件时,报错提示上传失败,发信时提示发送失败前因:运维同事新增加了三台服务器 1.服务器上有一个挂载的公共目录,该目录是存储的上传后的附件文件.该路径是通过一个软链 ...
- springboot 使用 jedis 连接 Redis 数据库
1. 在 pom.xml 配置文件中添加依赖 <!-- redis 依赖 --> <dependency> <groupId>org.springframework ...
- GET POST 区分
get传送的数据量较小,不能大于2KB.post传送的数据量较大,一般被默认为不受限制.但理论上,IIS4中最大量为80KB,IIS5中为100KB. get安全性非常低,get设计成传输数据,一般都 ...
- 28道java基础面试题-下
28道java基础面试题下 15.Java语言如何进行异常处理,关键字:throws.throw.try.catch.finally分别如何使用? 答:Java通过面向对象的方法进行异常处理,把各种不 ...
- <Math> 258 43
258. Add Digits class Solution { public int addDigits(int num) { if(num == 0) return 0; if(num % 9 = ...
- C语言中,如何输出一个菱形!
int zh,zl,h,l; //zh:行的总数 zl:列的总数 h:当前行 l:当前列 for( ...
- 洛谷P3157 [CQOI2011]动态逆序对
题目大意: 给定\(1\)到\(n\)的一个排列,按照给定顺序依次删除\(m\)个元素,计算每个元素删除之前整个序列的逆序对数量 基本套路:删边变加边 那么我们不就是求满足\(pos_i<pos ...