在此示例中,服务的URL格式为/projection/projectionId
:
@Stateless
@Path("projection")
public class ProjectionManager {
@Inject
private ProjectionDAO projectionDAO;
@Inject
private UserContext userContext;
@GET
@Path("{projectionId}")
@Produces("application/json")
public String places(@PathParam("projectionId") String projectionId) {
return projectionDAO.findById(Long.parseLong(projectionId)).getPlaces().toString();
}}
如何使用以下代码传递两个(或多个)查询参数来访问服务:
@PUT
@Path("/buy")
public Response buyTicket(@QueryParam("projectionId") String projectionId, @QueryParam("place") String place) {
Projection projection = projectionDAO.findById(Long.parseLong(projectionId));
if(projection != null) {
projectionDAO.buyTicket(projection, userContext.getCurrentUser(), Integer.parseInt(place));
}
return Response.noContent().build();
}
最佳答案
/buy?projectionId=value1&place=value2
查看https://en.wikipedia.org/wiki/Query_string以获取更多信息。而且由于它是HTTP PUT,因此您不能简单地在浏览器中打开该URL,因此您可以编写一些简单的REST客户端或使用浏览器扩展(例如Chrome中的Postman)。