[ 
https://issues.apache.org/jira/browse/SCB-1795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liubao resolved SCB-1795.
-------------------------
    Resolution: Fixed

> when use query object, sdk don't support fluent setter
> ------------------------------------------------------
>
>                 Key: SCB-1795
>                 URL: https://issues.apache.org/jira/browse/SCB-1795
>             Project: Apache ServiceComb
>          Issue Type: Bug
>          Components: Java-Chassis
>            Reporter: 何一乐
>            Assignee: 何一乐
>            Priority: Major
>             Fix For: java-chassis-2.0.1
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> {code:java}
> public class Person {
>     private String name;
>     public String getName() {
>         return name;
>     }
>     public Person setName(String name) {
>         this.name = name;
>         return this;
>     }
> }
> //provider
>   @RequestMapping(value = "/test", method = RequestMethod.GET)
>   public void queryEvents(Person person) {
>     System.out.println(person);
>   }
> {code}
> error:
> {code:java}
> Caused by: java.lang.IllegalStateException: Failed to create lambda from 
> public org.apache.servicecomb.demo.springmvc.server.Person 
> org.apache.servicecomb.demo.springmvc.server.Person.setRkdName(java.lang.String)
>       at 
> org.apache.servicecomb.foundation.common.utils.LambdaMetafactoryUtils.createLambda(LambdaMetafactoryUtils.java:139)
>       at 
> org.apache.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMapperCreator.processBeanParameter(ProducerArgumentsMapperCreator.java:117)
>       at 
> org.apache.servicecomb.swagger.invocation.arguments.AbstractArgumentsMapperCreator.doCreateArgumentsMapper(AbstractArgumentsMapperCreator.java:179)
>       at 
> org.apache.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMapperCreator.createArgumentsMapper(ProducerArgumentsMapperCreator.java:60)
>       at 
> org.apache.servicecomb.swagger.engine.SwaggerEnvironment.createProducer(SwaggerEnvironment.java:142)
>       at 
> org.apache.servicecomb.core.provider.producer.ProducerProviderManager.registerSchema(ProducerProviderManager.java:93)
>       at 
> org.apache.servicecomb.core.provider.producer.ProducerProviderManager.regsiterProducerMetas(ProducerProviderManager.java:82)
>       at 
> org.apache.servicecomb.core.provider.producer.ProducerProviderManager.init(ProducerProviderManager.java:68)
>       at org.apache.servicecomb.core.SCBEngine.doRun(SCBEngine.java:342)
>       at org.apache.servicecomb.core.SCBEngine.run(SCBEngine.java:297)
>       ... 13 more
> Caused by: java.lang.invoke.LambdaConversionException: Type mismatch for 
> lambda expected return: class 
> org.apache.servicecomb.demo.springmvc.server.Person is not convertible to void
>       at 
> java.lang.invoke.AbstractValidatingLambdaMetafactory.validateMetafactoryArgs(AbstractValidatingLambdaMetafactory.java:286)
>       at 
> java.lang.invoke.LambdaMetafactory.metafactory(LambdaMetafactory.java:303)
>       at 
> org.apache.servicecomb.foundation.common.utils.LambdaMetafactoryUtils.createLambda(LambdaMetafactoryUtils.java:129)
>       ... 22 more
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to