操纵url参数RestfulAPI

Manipulate url parameters Restful API

我只需要知道当有人用参数调用我的 API 时如何操作 url 参数。

http://localhost:8100/apis/employee?firstName=john&lastName=Do 

我想在我的 GET 方法中使用这些 firstName 和 lastName 参数,但我不知道如何提取它们。

@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Response getEmployee() {

//Just need to extract the parameters in here so I can use on the logic to return only the ones that meet the requirements. 

}

如有任何帮助,我们将不胜感激。我在 Java

上使用 SpringBootApplication

@RequestParam 就是您要找的

public Response getEmployee(@RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName) {
...
}

您可以在控制器方法中使用 @RequestParam 来访问查询参数。例如

public Response getEmployee(@RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName)

根据您问题中显示的注释,您正在使用 JAX-RS(可能与 Jersey 一起使用)。所以使用 @QueryParam:

@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response getEmployee(@QueryParam("firstName") String firstName, 
                            @QueryParam("lastName") String lastName) {
   ...
}

对于 Spring MVC(也提供 REST 功能),您想使用 @RequestParam:

@RequestMapping(method = RequestMethod.GET,
                produces = { MediaType.APPLICATION_XML_VALUE, 
                             MediaType.APPLICATION_JSON_VALUE })
public Response getEmployee(@RequestParam("firstName") String firstName, 
                            @RequestParam("lastName") String lastName) {
   ...
}

JAX-RS(带有 Jersey)和 Spring MVC 都可以与 Spring Boot 一起使用。有关详细信息,请参阅 documentation

另请参阅此 以了解有关 Spring MVC 和 JAX-RS 之间差异的详细信息。