SPR-8536 When two methods match a request for any content type (i.e. Accept=*/* or no Accept header), choose the one that doesn't define any 'Accept' media types by default. This addresses an important use case where methods serving browsers typically don't specify Accept media types.
@ -49,26 +47,27 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -49,26 +47,27 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -96,7 +95,7 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -96,7 +95,7 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -107,7 +106,7 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -107,7 +106,7 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -124,22 +123,25 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -124,22 +123,25 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -159,12 +161,13 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -159,12 +161,13 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -182,8 +185,7 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -182,8 +185,7 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -196,13 +198,13 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@@ -196,13 +198,13 @@ public final class ConsumesRequestCondition extends AbstractRequestCondition<Con
@ -44,13 +42,11 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@@ -44,13 +42,11 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@ -85,7 +81,8 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@@ -85,7 +81,8 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@ -94,7 +91,8 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@@ -94,7 +91,8 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@ -113,16 +111,16 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@@ -113,16 +111,16 @@ public final class HeadersRequestCondition extends AbstractRequestCondition<Head
@ -41,9 +39,9 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@@ -41,9 +39,9 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@ -74,7 +72,8 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@@ -74,7 +72,8 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@ -83,7 +82,8 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@@ -83,7 +82,8 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@ -102,16 +102,16 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@@ -102,16 +102,16 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
@ -52,9 +51,17 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@@ -52,9 +51,17 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@ -68,20 +75,7 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@@ -68,20 +75,7 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@ -93,6 +87,10 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@@ -93,6 +87,10 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@ -128,7 +126,7 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@@ -128,7 +126,7 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@ -153,21 +151,23 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@@ -153,21 +151,23 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@ -207,13 +207,16 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@@ -207,13 +207,16 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat
@ -51,26 +47,27 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -51,26 +47,27 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -98,7 +95,7 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -98,7 +95,7 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -109,7 +106,7 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -109,7 +106,7 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -126,22 +123,25 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -126,22 +123,25 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -158,22 +158,38 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -158,22 +158,38 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -187,6 +203,13 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -187,6 +203,13 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
}
}
}
if(acceptedMediaTypes.isEmpty()){
if(isOneEmptyButNotBoth(other)){
returnthis.isEmpty()?-1:1;
}
}
return0;
}
@ -199,12 +222,15 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -199,12 +222,15 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -214,10 +240,10 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@@ -214,10 +240,10 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
@ -41,8 +40,9 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@@ -41,8 +40,9 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@ -77,7 +77,8 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@@ -77,7 +77,8 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@ -86,11 +87,12 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@@ -86,11 +87,12 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@ -113,8 +115,9 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@@ -113,8 +115,9 @@ public final class RequestMethodsRequestCondition extends AbstractRequestConditi
@ -1419,6 +1419,40 @@ public class ServletAnnotationControllerHandlerMethodTests extends AbstractServl
@@ -1419,6 +1419,40 @@ public class ServletAnnotationControllerHandlerMethodTests extends AbstractServl
@ -2713,6 +2747,21 @@ public class ServletAnnotationControllerHandlerMethodTests extends AbstractServl
@@ -2713,6 +2747,21 @@ public class ServletAnnotationControllerHandlerMethodTests extends AbstractServl