javax.ws.rs.core.UriBuilder.buildFromEncoded()方法的使用及代码示例

x33g5p2x  于2022-01-31 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(93)

本文整理了Java中javax.ws.rs.core.UriBuilder.buildFromEncoded()方法的一些代码示例,展示了UriBuilder.buildFromEncoded()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UriBuilder.buildFromEncoded()方法的具体详情如下:
包路径:javax.ws.rs.core.UriBuilder
类名称:UriBuilder
方法名:buildFromEncoded

UriBuilder.buildFromEncoded介绍

[英]Build a URI. Any URI templates parameters will be replaced with the supplied values in order. Values are converted to String using their toString method and are then encoded to match the rules of the URI component to which they pertain. All % characters in the stringified values that are not followed by two hexadecimal numbers will be encoded. The state of the builder is unaffected; this method may be called multiple times on the same builder instance.

All instances of the same template parameter will be replaced by the same value that corresponds to the position of the first instance of the template parameter. e.g. the template "{a}/{b}/{a}" with values {"x", "y", "z"} will result in the the URI "x/y/x", not "x/y/z".
[中]构建一个URI。任何URI模板参数都将按顺序替换为提供的值。使用toString方法将值转换为String,然后对其进行编码以匹配它们所属的URI组件的规则。字符串化值中未后跟两个十六进制数的所有%字符都将被编码。建筑商的状态不受影响;在同一个生成器实例上,可以多次调用此方法。
同一模板参数的所有实例都将替换为与模板参数第一个实例的位置对应的相同值。e、 g.模板“{a}/{b}/{a}”的值为{x”,“y”,“z}”将导致URI“x/y/x”,而不是“x/y/z”。

代码示例

代码示例来源:origin: apache/cxf

private static String createMatchedPath(String uri, List<? extends Object> vars, boolean decode) {
  String uriPath = UriBuilder.fromPath(uri).buildFromEncoded(vars.toArray()).getRawPath();
  uriPath = decode ? HttpUtils.pathDecode(uriPath) : uriPath;
  if (uriPath.startsWith("/")) {
    uriPath = uriPath.substring(1);
  }
  return uriPath;
}
private String doGetPath(boolean decode, boolean addSlash) {

代码示例来源:origin: org.xwiki.platform/xwiki-platform-test-ui

public URI createUri(Object resourceUri, Map<String, Object[]> queryParams, Object... elements)
{
  if (resourceUri instanceof URI) {
    return (URI) resourceUri;
  }
  // Create URI builder
  UriBuilder builder = getUriBuilder(resourceUri, queryParams);
  // Build URI
  URI uri;
  if (elements.length > 0 && elements[0] == ELEMENTS_ENCODED) {
    uri = builder.buildFromEncoded(Arrays.copyOfRange(elements, 1, elements.length));
  } else {
    uri = builder.build(elements);
  }
  return uri;
}

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-client

/**
 * {@inheritDoc}
 */
@Override
public URI getCurrentURI() {
  return getCurrentBuilder().clone().buildFromEncoded();
}

代码示例来源:origin: org.apache.cxf/cxf-bundle-jaxrs

/**
 * {@inheritDoc}
 */
public URI getCurrentURI() {
  return getCurrentBuilder().clone().buildFromEncoded();
}

代码示例来源:origin: com.tomitribe.tribestream/tribestream-container

private String toSignature(final String payload, final Map<String,String> headers) {
  final Signature signature = new Signature(signaturesKeyId, signaturesAlgorithm, null, "signature", signaturesSignedHeaders.split(" +"));
  final Signer signer = new Signer(toKey(), signature);
  try {
    final URI u = UriBuilder.fromUri(URI.create("http://tempuri")).path(registerEndpoint).buildFromEncoded(connectionId);
    return signer.sign("POST", u.getRawPath(), headers).toString();
  } catch (final IOException e) {
    throw new IllegalStateException("Can't sign register message with HTTP Signatures", e);
  }
}

代码示例来源:origin: apache/cxf

/**
 * {@inheritDoc}
 */
@Override
public URI getCurrentURI() {
  return getCurrentBuilder().clone().buildFromEncoded();
}

代码示例来源:origin: com.helger/peppol-smp-server-webapp

@Nonnull
public String getServiceGroupHref (@Nonnull final IParticipantIdentifier aServiceGroupID)
{
 UriBuilder aBuilder = getBaseUriBuilder ();
 if (SMPServerConfiguration.isForceRoot ())
 {
  // Ensure that no context is emitted by using "replacePath" first!
  aBuilder = aBuilder.replacePath ("");
 }
 return aBuilder.path (ServiceGroupInterface.class)
         .buildFromEncoded (aServiceGroupID.getURIPercentEncoded ())
         .toString ();
}

代码示例来源:origin: phax/peppol-smp-server

@Nonnull
public String getServiceGroupHref (@Nonnull final IParticipantIdentifier aServiceGroupID)
{
 UriBuilder aBuilder = getBaseUriBuilder ();
 if (SMPServerConfiguration.isForceRoot ())
 {
  // Ensure that no context is emitted by using "replacePath" first!
  aBuilder = aBuilder.replacePath ("");
 }
 return aBuilder.path (ServiceGroupInterface.class)
         .buildFromEncoded (aServiceGroupID.getURIPercentEncoded ())
         .toString ();
}

代码示例来源:origin: phax/peppol-smp-server

@Nonnull
 public String getServiceMetadataReferenceHref (@Nonnull final IParticipantIdentifier aServiceGroupID,
                         @Nonnull final IDocumentTypeIdentifier aDocTypeID)
 {
  UriBuilder aBuilder = getBaseUriBuilder ();
  if (SMPServerConfiguration.isForceRoot ())
  {
   // Ensure that no context is emitted by using "replacePath" first!
   aBuilder = aBuilder.replacePath ("");
  }
  return aBuilder.path (ServiceMetadataInterface.class)
          .buildFromEncoded (aServiceGroupID.getURIPercentEncoded (), aDocTypeID.getURIPercentEncoded ())
          .toString ();
 }
}

代码示例来源:origin: com.helger/peppol-smp-server-webapp

@Nonnull
 public String getServiceMetadataReferenceHref (@Nonnull final IParticipantIdentifier aServiceGroupID,
                         @Nonnull final IDocumentTypeIdentifier aDocTypeID)
 {
  UriBuilder aBuilder = getBaseUriBuilder ();
  if (SMPServerConfiguration.isForceRoot ())
  {
   // Ensure that no context is emitted by using "replacePath" first!
   aBuilder = aBuilder.replacePath ("");
  }
  return aBuilder.path (ServiceMetadataInterface.class)
          .buildFromEncoded (aServiceGroupID.getURIPercentEncoded (), aDocTypeID.getURIPercentEncoded ())
          .toString ();
 }
}

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-client

/**
 * Updates the current URI path with path segment which may contain template variables
 * @param path new relative path segment
 * @param values template variable values
 * @return updated WebClient
 */
public WebClient path(String path, Object... values) {
  URI u = new UriBuilderImpl().uri(URI.create("http://tempuri")).path(path).buildFromEncoded(values);
  getState().setTemplates(getTemplateParametersMap(new URITemplate(path), Arrays.asList(values)));
  return path(u.getRawPath());
}

代码示例来源:origin: org.apache.cxf/cxf-bundle-jaxrs

/**
 * Updates the current URI path with path segment which may contain template variables
 * @param path new relative path segment
 * @param values template variable values
 * @return updated WebClient
 */
public WebClient path(String path, Object... values) {
  URI u = new UriBuilderImpl().uri(URI.create("http://tempuri")).path(path).buildFromEncoded(values);
  getState().setTemplates(getTemplateParametersMap(new URITemplate(path), Arrays.asList(values)));
  return path(u.getRawPath());
}

代码示例来源:origin: apache/cxf

/**
 * Updates the current URI path with path segment which may contain template variables
 * @param path new relative path segment
 * @param values template variable values
 * @return updated WebClient
 */
public WebClient path(String path, Object... values) {
  URI u = new UriBuilderImpl().uri(URI.create("http://tempuri")).path(path).buildFromEncoded(values);
  getState().setTemplates(getTemplateParametersMap(new URITemplate(path), Arrays.asList(values)));
  return path(u.getRawPath());
}

代码示例来源:origin: apache/cxf

public ResponseBuilder location(URI loc) {
  if (!loc.isAbsolute()) {
    Message currentMessage = PhaseInterceptorChain.getCurrentMessage();
    if (currentMessage != null) {
      UriInfo ui = new UriInfoImpl(currentMessage.getExchange().getInMessage(), null);
      loc = ui.getBaseUriBuilder()
          .path(loc.getRawPath())
          .replaceQuery(loc.getRawQuery())
          .fragment(loc.getRawFragment()).buildFromEncoded();
    }
  }
  return setHeader(HttpHeaders.LOCATION, loc);
}

代码示例来源:origin: org.apache.cxf/cxf-bundle-jaxrs

public ResponseBuilder location(URI loc) {
  if (!loc.isAbsolute()) {
    Message currentMessage = PhaseInterceptorChain.getCurrentMessage();
    if (currentMessage != null) {
      
      UriInfo ui = new UriInfoImpl(currentMessage.getExchange().getInMessage(), null);
      loc = ui.getBaseUriBuilder()
          .path(loc.getRawPath())
          .replaceQuery(loc.getRawQuery())
          .fragment(loc.getRawFragment()).buildFromEncoded();
    }
  }
  return setHeader(HttpHeaders.LOCATION, loc);
}

代码示例来源:origin: org.apache.cxf/cxf-bundle-jaxrs

handleQueries(m, params, types, beanParamsList, builder);
URI uri = builder.buildFromEncoded(pathParams.toArray()).normalize();

代码示例来源:origin: apache/cxf

handleQueries(m, params, types, beanParamsList, builder);
URI uri = builder.buildFromEncoded(pathParams.toArray()).normalize();

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-client

handleQueries(m, params, types, beanParamsList, builder);
URI uri = builder.buildFromEncoded(pathParams.toArray()).normalize();

相关文章