在RESTful Web服务中将URL作为参数传递

时间:2014-10-16 14:27:28

标签: java rest jax-rs

我在 Java 中定义 RESTful WebService。

需要输入:

  • 用户名(例如,jdoe);
  • 网址(例如:https://blablablabla.io/sample?boh=mah)。

通过使用 HTTP协议 GET 方法,它应生成JSON文件。

通过这些参数的最佳途径是什么?

在这种特殊情况下,为了正确地将URL作为参数传递,是否有最佳做法?

3 个答案:

答案 0 :(得分:3)

您必须先对其进行编码,然后才能使用

URLEncoder.encode("url");

答案 1 :(得分:1)

如果要定义http GET方法,那么将参数传递给它的唯一方法是通过URI查询字符串(即?x=y&...)。

这是因为GET调用无法接收邮件正文。

如果您想传递更复杂的信息,则需要使用POSTPUT或其他一些方法。但是,如果您实际上只是获取信息(语义上),那么除了GET之外,您不应该使用任何其他信息。

答案 2 :(得分:-2)

您也可以使用路径参数

这是示例

@Path("/users")
public class UserResorce {

      @GET
      @Path("/{username}")
      @Produces(MediaType.APPLICATION_JSON)
      public String getUser(@PathParam("username") String username)){

      }
}


The url is http://domain_name/your_application_path/users/username