操作url参数Restful API

时间:2018-01-08 15:45:00

标签: rest api spring-mvc restful-url

当有人用参数调用我的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

3 个答案:

答案 0 :(得分:2)

根据您问题中显示的注释,您正在使用 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之间差异的详细信息,请参阅此answer

答案 1 :(得分:0)

@RequestParam正是您要找的

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

答案 2 :(得分:0)

您可以在控制器方法中使用-fx-background-radius: 16 16 0 0, 16 16 8 8 ;来访问查询参数。 e.g。

@RequestParam