背景:
我有一个使用Jersey在Java中实现的REST API.我的API使用四个动词:GET,POST,PUT,DELETE.
我发现在java中开发REST API非常容易和直接.
例如,这里是一个精心设计的hello webservice(我说精心制作,因为有更简单的方法,但这更具代表性):
import javax.ws.rs.*;
@Path("/myresource")
public class MyResource{
@GET
@Path("name/{name}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response sayHello(@PathParam("name") String name){
return Response.ok("Hello "+name).build();
}
}
问题:
我正在学习python.我想将我的Java Jersey REST API转换为python.
基本上Jersey是Java的REST实现(又名JAX-RS:用于RESTful Web服务的Java API). python是否有REST的参考实现?如果没有,是否有任何实现接近并且对于来自Java-Jersey的人来说很容易使用?
解决方法:
您可能需要查看以前的类似问题:Recommendations of Python REST (web services) framework?
Python没有内置的REST框架,但我个人对Flask和Bottle有很好的体验.
它与Jersey(瓶子示例)的使用非常相似:
@route('/')
@route('/hello/<name>')
def greet(name='Stranger'):
return template('Hello {{name}}, how are you?', name=name)
处理HTTP动词:
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
do_the_login()
else:
show_the_login_form()