有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Heroku JAXRS POST

场景:

最近,我们的团队在Heroku上创建了一个应用程序。我们在eclipse中设置了所有环境,并熟悉了Git。我可以修改一些代码,至少可以看到我可以操纵http GET请求来返回我想要的结果。我现在的任务是努力让岗位工作

现在,我们有一个简单的TestService,您可以通过以下操作从中检索JSON对象:myurl。com/services/test/test1,它将返回JSON对象:

{ “名称”:“test1”, “测试”:100 }

代码:

@Path("/test")
public class TestService
{
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public TestObject get()
    {
        return new TestObject();
    }

    @GET
    @Path("/{name}")
    @Produces(MediaType.APPLICATION_JSON)
    public TestObject get(@PathParam("name") String name)
    {
        return TestObject.getObject(name);
    }

    @POST
    @Path("/post")
    @Consumes(MediaType.APPLICATION_JSON)
    public void post(final TestObject object)
    {
        TestObject.postObject(object.getName(), object);
    }

}

问题:

A)如何为http POST请求设置此代码

B)如何像上面的GET请求那样实际请求它


共 (1) 个答案

  1. # 1 楼答案

    A)如果我没弄错的话,你正在寻找如何在你的服务上设置POST方法。试试这个,这几乎就是你现在拥有的。看看返回类型,它是javax。ws。rs.core。回应

    @POST
    @Path("/post")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public static Response post(
      String testObjectAsJson){      
    
      TestObject testObject = testObjectAsJson.toEntity; //some json deserialization function
      //do something with testObject
    
    
      //return a status of 200 to the client
      return Response.status(200).build;
    }
    

    如果要处理testObject并返回修改后的testObject,请尝试以下操作:

    String testObjectAsJson = testObject.toJson; //some json conversion method
    return Response.status(200).entity(testObjectAsJson).build;
    

    B)用于测试您的请求,例如使用chrome://restclient/content/restclient.html在firefox中。(也许你必须先在“附加组件”下添加它)。在那里,你可以向你的服务发送POST请求