我正在为Jenkins编写一个插件。它在yourjenkins.link/custom-api/下公开了一个端点。方法:
@GET
@WebMethod(name = "logs1")
public HttpResponse logs1(StaplerRequest req,
@QueryParameter(required = true) String jobName,
@QueryParameter(required = true) String buildNumberString) throws IOException {
可访问:yourjenkins.link/custom-api/logs1。
问题是,当我尝试:curl -H "Blah: blah" http://localhost:8080/jenkins/custom-api/logs1?jobName=test&buildNumberString=48 -v
我得到:
javax.servlet.ServletException: Required Query parameter buildNumberString is missing
at org.kohsuke.stapler.QueryParameter$HandlerImpl.parse(QueryParameter.java:71)
org.kohsuke.stapler包中的查询参数似乎只能使用一个参数。如何使用这两个参数?
PS:我不想从请求主体中获取它们,因为只有当请求类型为get时才应该调用该方法。
问题解决了,问题不在实际函数中,而是在curl命令中。它包括"&"破坏它的标志。