[Bug] The triple protocol is called through http, and the return value is incorrect
Pre-check
- [X] I am sure that all the content I provide is in English.
Search before asking
- [X] I had searched in the issues and found no similar issues.
Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
dubbo version:3.3.0-beta.1 jdk:1.8 platform:windows 10
Steps to reproduce this issue
Start the service using the TriPojoServer class of the dubco-samples-triple-no-IDl module and invoke the service using http
What you expected to happen
I understand that you should return “hello star“,but return "hello,{"request":"star"}"
Anything else
No response
Are you willing to submit a pull request to fix on your own?
- [X] Yes I am willing to submit a pull request on my own!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
This is a misunderstanding caused by habitual thinking, perhaps because you're accustomed to data being passed in JSON format.
The PojoGreeter interface definition explicitly specifies the parameter type as String. Therefore, the method receives a string as data. In the implementation class PojoGreeterImpl, the received parameter is simply concatenated. Hence, the response you obtained is completely correct.
Below is the result obtained by calling the operation using the TriPojoClient from the provided sample, and the response matches yours exactly.
This is a misunderstanding caused by habitual thinking, perhaps because you're accustomed to data being passed in JSON format.
![]()
The PojoGreeter interface definition explicitly specifies the parameter type as String. Therefore, the method receives a string as data. In the implementation class PojoGreeterImpl, the received parameter is simply concatenated. Hence, the response you obtained is completely correct.
Below is the result obtained by calling the operation using the TriPojoClient from the provided sample, and the response matches yours exactly.
![]()
How should a single string parameter be passed in an http request?
This is a peculiar issue. If you've configured the Triple protocol, you should be using it for communication instead of using another protocol like HTTP.
This is a peculiar issue. If you've configured the Triple protocol, you should be using it for communication instead of using another protocol like HTTP.
http call also uses the triple protocol ;dubbo version : 3.3.0-beta.2
This is a misunderstanding caused by habitual thinking, perhaps because you're accustomed to data being passed in JSON format.
![]()
The PojoGreeter interface definition explicitly specifies the parameter type as String. Therefore, the method receives a string as data. In the implementation class PojoGreeterImpl, the received parameter is simply concatenated. Hence, the response you obtained is completely correct. Below is the result obtained by calling the operation using the TriPojoClient from the provided sample, and the response matches yours exactly.
![]()
How should a single string parameter be passed in an http request?
For single-parameter services, the application/json mode cannot be used. You can use text/plain, application/x-www-form-urlencoded, or application/x-www-form-urlencoded
This is a misunderstanding caused by habitual thinking, perhaps because you're accustomed to data being passed in JSON format.
![]()
The PojoGreeter interface definition explicitly specifies the parameter type as String. Therefore, the method receives a string as data. In the implementation class PojoGreeterImpl, the received parameter is simply concatenated. Hence, the response you obtained is completely correct. Below is the result obtained by calling the operation using the TriPojoClient from the provided sample, and the response matches yours exactly.
![]()
How should a single string parameter be passed in an http request?
For single-parameter services, the application/json mode cannot be used. You can use text/plain, application/x-www-form-urlencoded, or application/x-www-form-urlencoded
just dubbo version: 3.3.0-beta.2+
This is a misunderstanding caused by habitual thinking, perhaps because you're accustomed to data being passed in JSON format.
![]()
The PojoGreeter interface definition explicitly specifies the parameter type as String. Therefore, the method receives a string as data. In the implementation class PojoGreeterImpl, the received parameter is simply concatenated. Hence, the response you obtained is completely correct. Below is the result obtained by calling the operation using the TriPojoClient from the provided sample, and the response matches yours exactly.
![]()
How should a single string parameter be passed in an http request?
For single-parameter services, the application/json mode cannot be used. You can use text/plain, application/x-www-form-urlencoded, or application/x-www-form-urlencoded
just dubbo version: 3.3.0-beta.2+ dubbo version 3.3.0-beta.1 http body head only support :application/json and application/grpc+proto
@oxsean PTAL
This is a misunderstanding caused by habitual thinking, perhaps because you're accustomed to data being passed in JSON format.
![]()
The PojoGreeter interface definition explicitly specifies the parameter type as String. Therefore, the method receives a string as data. In the implementation class PojoGreeterImpl, the received parameter is simply concatenated. Hence, the response you obtained is completely correct. Below is the result obtained by calling the operation using the TriPojoClient from the provided sample, and the response matches yours exactly.
![]()
How should a single string parameter be passed in an http request?
For single-parameter services, the application/json mode cannot be used. You can use text/plain, application/x-www-form-urlencoded, or application/x-www-form-urlencoded
dubbo's parameter bind not the same as spring mvc, i think this is not a problem.
The json body process first tries to take the body and decode it to the target type, and if it matches, it doesn't try to decode the json.

