java - 更改 REST API 的 URL 模式

标签 java json rest

@Path("/ftocservice")
public class RestService {

  @Path("{f}")
  @GET
  @Produces("application/json")

  public Response convertFtoCfromInput(@PathParam("f") float f)
      throws Exception {

    DbCon db = new DbCon();
    ArrayList<Student> students = db.getStudentList();
    JSONArray jsonArray = new JSONArray(students);

    String result = jsonArray.toString();

    return Response.status(200).entity(result).build();
  }

}

我正在使用上面的源代码生成 rest API,并且用户通过 API 进行请求,如下

http://localhost:8080/RestExample/RestService/ftocservice/23

我需要按如下方式更改请求 URL。

http://localhost:8080/RestExample/RestService/ftocservice?f=23

请帮助更改源代码以更改给定的请求 URL。谢谢

最佳答案

改为使用@QueryParam:

@Path("/ftocservice")
public class RestService {


  @GET
  @Produces("application/json")
  public Response convertFtoCfromInput(@QueryParam("f") float f)
        throws Exception {

    DbCon db = new DbCon();
    ArrayList<Student> students = db.getStudentList();
    JSONArray jsonArray = new JSONArray(students);

    String result = jsonArray.toString();

    return Response.status(200).entity(result).build();
  }
}

查看此link有关 JAX-RS 中参数类型的更多信息。

这个tutorial通过 Mkyong.com也挺好看的。

关于java - 更改 REST API 的 URL 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39568494/

相关文章:

java - Docker maven 镜像正在创建 root 拥有的目标文件夹,并且 Jenkins 无法将其从其工作区中删除

javascript - Axios 详细地返回嵌套对象作为响应

java - 如何在调试应用程序时检查当前正在运行哪个 Activity

java - 实体 "uuml"已被引用,但未声明 - XMLStreamException

java - Spring/Hibernate - 在 Java 中不使用 @Entity 从存储过程中获取结果

ios - 在 iOS 中创建 JSON 格式

json - Cloudant 选择器查询

jquery - 如何在jquery方法中添加以逗号作为分隔符的标签?

java - 是玩! Framework 2.0 适合创建 REST API 吗?

web-services - REST 服务 - 用于唯一检查的 URI 形成