JAV-472 producer declare produce plain, use */* to access, should produce plain, not json.
diff --git a/common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestOperationMeta.java b/common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestOperationMeta.java
index 933891f..5903add 100644
--- a/common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestOperationMeta.java
+++ b/common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestOperationMeta.java
@@ -180,9 +180,9 @@
}
}
- produceProcessorMap.putIfAbsent(ProduceProcessorManager.DEFAULT_TYPE, ProduceProcessorManager.DEFAULT_PROCESSOR);
defaultProcessor = getDefaultOrFirstProcessor();
produceProcessorMap.putIfAbsent(MediaType.WILDCARD, defaultProcessor);
+ produceProcessorMap.putIfAbsent(ProduceProcessorManager.DEFAULT_TYPE, ProduceProcessorManager.DEFAULT_PROCESSOR);
}
public URLPathBuilder getPathBuilder() {
@@ -232,6 +232,10 @@
return pp;
}
}
+
+ if (processor == null) {
+ processor = ProduceProcessorManager.JSON_PROCESSOR;
+ }
return processor;
}
diff --git a/common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestRestOperationMeta.java b/common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestRestOperationMeta.java
index 7ac34bc..4ef3c07 100644
--- a/common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestRestOperationMeta.java
+++ b/common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestRestOperationMeta.java
@@ -129,6 +129,17 @@
}
@Test
+ public void testCreateProduceProcessorsTextAndWildcard() {
+ operationMeta.produces = Arrays.asList(MediaType.TEXT_PLAIN);
+ operationMeta.createProduceProcessors();
+
+ Assert.assertSame(ProduceProcessorManager.PLAIN_PROCESSOR,
+ operationMeta.ensureFindProduceProcessor(MediaType.WILDCARD));
+ Assert.assertSame(ProduceProcessorManager.PLAIN_PROCESSOR,
+ operationMeta.ensureFindProduceProcessor(MediaType.TEXT_PLAIN));
+ }
+
+ @Test
public void testEnsureFindProduceProcessorRequest(@Mocked HttpServletRequestEx requestEx) {
new Expectations() {
{