Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
6870b9c6
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6870b9c6
编写于
3月 26, 2019
作者:
S
Sam Brannen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Test fix in gh-22638
上级
93de5f40
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
2 deletion
+43
-2
spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapterTests.java
.../method/annotation/RequestMappingHandlerAdapterTests.java
+43
-2
未找到文件。
spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapterTests.java
浏览文件 @
6870b9c6
/*
* Copyright 2002-201
8
the original author or authors.
* Copyright 2002-201
9
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.
...
...
@@ -17,6 +17,7 @@
package
org.springframework.web.servlet.mvc.method.annotation
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Type
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
...
...
@@ -29,15 +30,18 @@ import org.junit.BeforeClass;
import
org.junit.Test
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.http.HttpInputMessage
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.converter.HttpMessageConverter
;
import
org.springframework.http.converter.StringHttpMessageConverter
;
import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
;
import
org.springframework.http.converter.json.MappingJacksonValue
;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpResponse
;
import
org.springframework.http.server.ServletServerHttpResponse
;
import
org.springframework.lang.Nullable
;
import
org.springframework.mock.web.test.MockHttpServletRequest
;
import
org.springframework.mock.web.test.MockHttpServletResponse
;
import
org.springframework.ui.Model
;
...
...
@@ -60,6 +64,7 @@ import static org.junit.Assert.*;
* Unit tests for {@link RequestMappingHandlerAdapter}.
*
* @author Rossen Stoyanchev
* @author Sam Brannen
* @see ServletAnnotationControllerHandlerMethodTests
* @see HandlerMethodAnnotationDetectionTests
* @see RequestMappingHandlerAdapterIntegrationTests
...
...
@@ -342,8 +347,15 @@ public class RequestMappingHandlerAdapterTests {
}
}
/**
* This class additionally implements {@link RequestBodyAdvice} solely for the purpose
* of verifying that controller advice implementing both {@link ResponseBodyAdvice}
* and {@link RequestBodyAdvice} does not get registered twice.
*
* @see <a href="https://github.com/spring-projects/spring-framework/pull/22638">gh-22638</a>
*/
@ControllerAdvice
private
static
class
ResponseCodeSuppressingAdvice
extends
AbstractMappingJacksonResponseBodyAdvice
{
private
static
class
ResponseCodeSuppressingAdvice
extends
AbstractMappingJacksonResponseBodyAdvice
implements
RequestBodyAdvice
{
@Override
protected
void
beforeBodyWriteInternal
(
MappingJacksonValue
bodyContainer
,
MediaType
contentType
,
...
...
@@ -357,6 +369,35 @@ public class RequestMappingHandlerAdapterTests {
map
.
put
(
"message"
,
bodyContainer
.
getValue
());
bodyContainer
.
setValue
(
map
);
}
@Override
public
boolean
supports
(
MethodParameter
methodParameter
,
Type
targetType
,
Class
<?
extends
HttpMessageConverter
<?>>
converterType
)
{
return
StringHttpMessageConverter
.
class
.
equals
(
converterType
);
}
@Override
public
HttpInputMessage
beforeBodyRead
(
HttpInputMessage
inputMessage
,
MethodParameter
parameter
,
Type
targetType
,
Class
<?
extends
HttpMessageConverter
<?>>
converterType
)
{
return
inputMessage
;
}
@Override
public
Object
afterBodyRead
(
Object
body
,
HttpInputMessage
inputMessage
,
MethodParameter
parameter
,
Type
targetType
,
Class
<?
extends
HttpMessageConverter
<?>>
converterType
)
{
return
body
;
}
@Override
public
Object
handleEmptyBody
(
@Nullable
Object
body
,
HttpInputMessage
inputMessage
,
MethodParameter
parameter
,
Type
targetType
,
Class
<?
extends
HttpMessageConverter
<?>>
converterType
)
{
return
"default value for empty body"
;
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录