本文整理汇总了Java中javax.ws.rs.core.UriBuilder.path方法的典型用法代码示例。如果您正苦于以下问题:Java UriBuilder.path方法的具体用法?Java UriBuilder.path怎么用?Java UriBuilder.path使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.ws.rs.core.UriBuilder
的用法示例。
在下文中一共展示了UriBuilder.path方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: save
import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{projectName}/statuses/{commit}")
@POST
public Response save(@PathParam("projectName") String projectName, @PathParam("commit") String commit,
Map<String, String> commitStatus, @Context UriInfo uriInfo) {
Project project = getProject(projectName);
if (!SecurityUtils.canWrite(project))
throw new UnauthorizedException();
String state = commitStatus.get("state").toUpperCase();
if (state.equals("PENDING"))
state = "RUNNING";
Verification verification = new Verification(Verification.Status.valueOf(state),
new Date(), commitStatus.get("description"), commitStatus.get("target_url"));
String context = commitStatus.get("context");
if (context == null)
context = "default";
verificationManager.saveVerification(project, commit, context, verification);
UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder();
uriBuilder.path(context);
commitStatus.put("id", "1");
return Response.created(uriBuilder.build()).entity(commitStatus).type(RestConstants.JSON_UTF8).build();
}
示例2: findURI
import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
private static URI findURI(MethodFinder method, Object... params) {
Method m = method.method();
UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
UriBuilder builder = uriInfo.getBaseUriBuilder().path(m.getDeclaringClass());
if(m.isAnnotationPresent(Path.class))
builder.path(m);
return builder.build(params);
}
示例3: exec
import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
@Override
public Object exec(List arguments) throws TemplateModelException {
if(arguments == null || arguments.size() < 1)
throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
Object arg0 = arguments.get(0);
if(arg0 instanceof SimpleScalar != true)
throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
String arg1 = ((SimpleScalar)arg0).getAsString();
int dot = arg1.indexOf('.');
if(dot == -1)
throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
String klass = arg1.substring(0, dot);
String method = arg1.substring(dot+1);
for (Class resource : AppGlobals.get().getDeployment().getActualResourceClasses()) {
dot = resource.getName().lastIndexOf('.');
String shortName = dot == -1 ? resource.getName() : resource.getName().substring(dot+1);
if(shortName.equals(klass)) {
for (Method m : resource.getMethods()) {
// FIXME: overloading?
if(m.getName().equals(method)
&& Modifier.isPublic(m.getModifiers())) {
UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
UriBuilder builder = uriInfo.getBaseUriBuilder().path(resource);
if(m.isAnnotationPresent(Path.class))
builder.path(m);
Object[] params = arguments.subList(1, arguments.size()).toArray();
return builder.build(params).toString();
}
}
throw new TemplateModelException("Could not find method named "+method+" in resource class "+resource.getName());
}
}
throw new TemplateModelException("Could not find resource class named "+klass);
}
示例4: getMethodUriBuilder
import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
@Override
public UriBuilder getMethodUriBuilder(Class<?> resource, String method)
{
try
{
UriBuilder builder = UriBuilder.fromUri(institutionService.getInstitutionUrl().toURI());
builder.path("api");
return builder.path(resource).path(resource, method);
}
catch( URISyntaxException e )
{
throw new RuntimeException(e);
}
}
示例5: getPageUrl
import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
/**
* Get the URL defined by the specified {@link PageUrl} annotation.
* <p>
* <b>NOTES</b>: <ul>
* <li>If the {@code pageUrl} argument is {@code null} or the {@code value} element of the specified
* {@link PageUrl} annotation is unspecified, this method returns {@code null}.
* <li>If {@code scheme} of the specified {@code pageUrl} argument is unspecified or set to {@code http/https},
* the specified {@code targetUri} is overlaid by the elements of the {@link PageUrl} annotation to
* produce the fully-qualified <b>HTTP</b> target page URL.</li>
* <li>For <b>HTTP</b> URLs that require query parameters, these parameters must be included in the
* {@code value} element of the specified {@link PageUrl} annotation. The {@code params} element of the
* annotation is only used for pattern-based landing page verification.</li>
* <li>If {@code scheme} of the specified {@code pageUrl} is set to {@code file}, the value of the
* {@code targetUri} argument is ignored. The only element of the {@link PageUrl} annotation that
* is used to produce the fully-qualified <b>FILE</b> target page URL is {@code value}. The value of the
* {@code value} element specifies the relative path of a file within your project's resources, which is
* resolved via {@link ClassLoader#getResource}.</li>
* </ul>
*
* @param pageUrl page URL annotation
* @param targetUri target URI
* @return defined page URL as a string (may be 'null')
*/
public static String getPageUrl(PageUrl pageUrl, URI targetUri) {
if (pageUrl == null || PLACEHOLDER.equals(pageUrl.value())) {
return null;
}
String result = null;
String scheme = pageUrl.scheme();
String path = pageUrl.value();
if ("file".equals(scheme)) {
result = Thread.currentThread().getContextClassLoader().getResource(path).toString();
} else {
String userInfo = pageUrl.userInfo();
String host = pageUrl.host();
String port = pageUrl.port();
UriBuilder builder = UriBuilder.fromUri(targetUri);
if (!PLACEHOLDER.equals(scheme)) {
builder.scheme(scheme.isEmpty() ? null : scheme);
}
if (!path.isEmpty()) {
builder.path(path);
}
if (!PLACEHOLDER.equals(userInfo)) {
builder.userInfo(userInfo.isEmpty() ? null : userInfo);
}
if (!PLACEHOLDER.equals(host)) {
builder.host(host.isEmpty() ? null : host);
}
if (!PLACEHOLDER.equals(port)) {
builder.port(port.isEmpty() ? -1 : Integer.parseInt(port));
}
result = builder.build().toString();
}
return result;
}