Browse Source
Revise Javadoc on AsyncHandlerMethodReturnValueHandler to clarify its main purpose is to prioritze custom async return value handlers ahead of built-in ones. Also replace the interface from built-in handlers which are prioritized already. Remove DeferredResultAdapter and ResponseBodyEmitterAdapter -- introduced in 4.3 for custom async return value handling, since for 5.0 we will add built-in support for reactive types and the value of these contracts becomes very marginal. Issue: SPR-15365pull/1376/head
10 changed files with 136 additions and 384 deletions
@ -1,36 +0,0 @@
@@ -1,36 +0,0 @@
|
||||
/* |
||||
* Copyright 2002-2016 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.web.servlet.mvc.method.annotation; |
||||
|
||||
import org.springframework.web.context.request.async.DeferredResult; |
||||
|
||||
/** |
||||
* Contract to adapt a single-value async return value to {@code DeferredResult}. |
||||
* |
||||
* @author Rossen Stoyanchev |
||||
* @since 4.3 |
||||
*/ |
||||
public interface DeferredResultAdapter { |
||||
|
||||
/** |
||||
* Create a {@code DeferredResult} for the given return value. |
||||
* @param returnValue the return value (never {@code null}) |
||||
* @return the DeferredResult |
||||
*/ |
||||
DeferredResult<?> adaptToDeferredResult(Object returnValue); |
||||
|
||||
} |
||||
@ -1,40 +0,0 @@
@@ -1,40 +0,0 @@
|
||||
/* |
||||
* Copyright 2002-2016 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.web.servlet.mvc.method.annotation; |
||||
|
||||
import org.springframework.http.server.ServerHttpResponse; |
||||
|
||||
/** |
||||
* Contract to adapt streaming async types to {@code ResponseBodyEmitter}. |
||||
* |
||||
* @author Rossen Stoyanchev |
||||
* @since 4.3 |
||||
*/ |
||||
@FunctionalInterface |
||||
public interface ResponseBodyEmitterAdapter { |
||||
|
||||
/** |
||||
* Obtain a {@code ResponseBodyEmitter} for the given return value. |
||||
* If the return is the body {@code ResponseEntity} then the given |
||||
* {@code ServerHttpResponse} contains its status and headers. |
||||
* @param returnValue the return value (never {@code null}) |
||||
* @param response the response |
||||
* @return the return value adapted to a {@code ResponseBodyEmitter} |
||||
*/ |
||||
ResponseBodyEmitter adaptToEmitter(Object returnValue, ServerHttpResponse response); |
||||
|
||||
} |
||||
Loading…
Reference in new issue