Pregunta ¿Qué estructura de Python para un servicio web REST / JSON sin front-end?


Necesito crear un servicio web de Python REST / JSON para que una aplicación de iOS pueda interactuar. No habrá front-end en la web.

¿Cuál será el marco más rápido y ligero para usar para esto? Curva de aprendizaje para implementar también considerado?

De la investigación que hice, Django-Tastypie o Djanjo-Piston parecen ser las mejores opciones, con Tastypie ganando porque la base de código se mantiene activamente.


32
2017-10-30 04:58


origen


Respuestas:


En general, creo que encontrarás web2py ser uno de los marcos más fáciles de configurar, aprender y usar. web2py hace que sea muy fácil generar JSON (solo agrega una extensión .json), y ahora incluye nuevas funcionalidades para crear automáticamente Servicios web RESTful para acceder a los modelos de la base de datos En particular, revisa el parse_as_rest y smart_query funcionalidad.

Si necesita ayuda, pregunte en el lista de correo.


12
2017-10-30 22:57



En Pycon Australia, Richard Jones comparó los marcos web ligeros más populares. Botella salió en la parte superior. Aquí está el presentación completa.


25
2017-10-30 06:01



Cuando se trata de peso ligero, CherryPy es bonito allí arriba.

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

6
2017-10-30 05:01



Si yo fuera tú, usaría web.py eso es realmente conveniente para hacer ese tipo de prototipado rápido de aplicaciones REST ligeras. Mira este fragmento desde la página de inicio:

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'World'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

2
2017-10-30 04:59



Eche un vistazo a matraz y su extensión matraz-reparador

from flask import Flask
from flask.ext import restful

app = Flask(__name__)
api = restful.Api(app)

class HelloWorld(restful.Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)

1
2018-02-04 16:45



Es posible que también desee retirar Analizar gramaticalmente. Son de uso gratuito en este momento, y te darán un buen API REST para ti aplicaciones móviles.

Sin embargo, como señala @iksnar, no escribes nada en Python ni nada para el back-end. Si necesita tener el back-end ejecutándose en Python en sus propios servidores, soy un gran fanático de TastyPie si ya está utilizando Django y el Django ORM.


0
2017-11-30 01:28