java - 适用于 Java( Jersey )开发人员的 RESTful Python

标签 java rest python-2.7 jersey

背景:

我有一个使用 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 基本上是 REST 的 Java 实现(又名 JAX-RS:用于 RESTful Web 服务的 Java API)。 python 是否有 REST 的引用实现?如果没有,是否有任何实现接近并且对于来自 Java-Jersey 的人来说易于使用?

最佳答案

您可能想查看之前的类似问题:Recommendations of Python REST (web services) framework?

Python 没有内置的 REST 框架,但我个人对 Flask 有很好的体验。和 Bottle .

它在使用上与 Jersey(Bottle 示例)非常相似:

@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()

关于java - 适用于 Java( Jersey )开发人员的 RESTful Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483793/

相关文章:

java - Java String split() 的意外行为

java - 不继承Object类的类

Java Spring 最大。上传大小限制

rest - 如何使用 Microsoft Graph API 下载附件?

java - GET 请求被禁止,而 POST 请求则正常

python - 如何在Python 3项目中使用Python 2包?

java - 如何将图像保存和读取为文本,嵌入到代码中

http - REST DELETE 真的是幂等的吗?

python - 用于 token 安全的 urllib2 自定义处理程序

python - 如何将 AES 与 GAE python 一起使用?