org.springframework.http.RequestEntity#getBody ( )源码实例Demo

下面列出了org.springframework.http.RequestEntity#getBody ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: spring-cloud-gateway   文件: ProxyExchange.java
private Mono<ResponseEntity<T>> exchange(RequestEntity<?> requestEntity) {
	Type type = this.responseType;
	RequestBodySpec builder = rest.method(requestEntity.getMethod())
			.uri(requestEntity.getUrl())
			.headers(headers -> addHeaders(headers, requestEntity.getHeaders()));
	Mono<ClientResponse> result;
	if (requestEntity.getBody() instanceof Publisher) {
		@SuppressWarnings("unchecked")
		Publisher<Object> publisher = (Publisher<Object>) requestEntity.getBody();
		result = builder.body(publisher, Object.class).exchange();
	}
	else if (requestEntity.getBody() != null) {
		result = builder.body(BodyInserters.fromValue(requestEntity.getBody()))
				.exchange();
	}
	else {
		if (hasBody) {
			result = builder
					.headers(headers -> addHeaders(headers,
							exchange.getRequest().getHeaders()))
					.body(exchange.getRequest().getBody(), DataBuffer.class)
					.exchange();
		}
		else {
			result = builder.headers(headers -> addHeaders(headers,
					exchange.getRequest().getHeaders())).exchange();
		}
	}
	return result.flatMap(
			response -> response.toEntity(ParameterizedTypeReference.forType(type)));
}
 
源代码2 项目: tutorials   文件: CustomRequestEntityConverter.java
@Override
public RequestEntity<?> convert(OAuth2AuthorizationCodeGrantRequest req) {
    RequestEntity<?> entity = defaultConverter.convert(req);
    MultiValueMap<String, String> params = (MultiValueMap<String,String>) entity.getBody();
    params.add("test2", "extra2");
    System.out.println(params.entrySet());
    return new RequestEntity<>(params, entity.getHeaders(), entity.getMethod(), entity.getUrl());
}
 
@RequestMapping()
public ResponseEntity<byte[]> logRequestAndExecute(RequestEntity<byte[]> incomingRequest) {

	LOGGER.info("Intercepted Request: {}", incomingRequest);
	
	HttpHeaders headers = new HttpHeaders();
	
	headers.putAll(incomingRequest.getHeaders());

	URI uri = headers.remove(X_CF_FORWARDED_URL_HEADER).stream().findFirst().map(URI::create)
			.orElseThrow(() -> new RuntimeException("Header is missing " + X_CF_FORWARDED_URL_HEADER));

	RequestEntity<byte[]> outgoingRequest = new RequestEntity<>(incomingRequest.getBody(), headers, incomingRequest.getMethod(), uri);

	// Execute the request specified in the given RequestEntity and 
	// return the response as ResponseEntity.
	ResponseEntity<byte[]> response = restOperations.exchange(outgoingRequest, byte[].class);
	
	LOGGER.info("Sent Response: {}", response);
	
	return response;
}
 
@PostMapping("/elastic/test/my-entity")
public void handleProjectRequestDocument(RequestEntity<String> input) {
	String authorization = input.getHeaders().getFirst(HttpHeaders.AUTHORIZATION);
	Content content = new Content(authorization, input.getBody());
	this.stats.add(content);
}