spring 将 Web 服务 @requestparam 用于自定义方法 class(非字符串)
spring rest web service @requestparam to method custom class (NOT string)
我正在使用本教程https://spring.io/guides/gs/rest-service/
我想传递给 Web 服务 API 方法参数而不是 String:
@RestController
public class ApiClass {
@RequestMapping("/service")
public int service(@RequestParam(value="paramIn") CustomClass paramIn) {
if (paramIn.value != 0) return 1;
else return 0;
}
}
但是当我尝试它时,我得到了这个错误:
HTTP Status 500 - Failed to convert value of type 'java.lang.String' to required type 'CustomClass'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [CustomClass]: no matching editors or conversion strategy found`
谢谢,
通常的做法是使用 POST
或 PUT
方法并用 @RequestBody
注释自定义对象。例如:
@RequestMapping(value = "/service",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE)
public int service(@RequestBody CustomClass paramIn) {
// do something with the paramIn
}
如果你 POST
你的 CustomClass
实例到端点 /service
Spring 的 JSON 表示将反序列化它并将它作为参数传递给你的控制器。
我正在使用本教程https://spring.io/guides/gs/rest-service/
我想传递给 Web 服务 API 方法参数而不是 String:
@RestController
public class ApiClass {
@RequestMapping("/service")
public int service(@RequestParam(value="paramIn") CustomClass paramIn) {
if (paramIn.value != 0) return 1;
else return 0;
}
}
但是当我尝试它时,我得到了这个错误:
HTTP Status 500 - Failed to convert value of type 'java.lang.String' to required type 'CustomClass'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [CustomClass]: no matching editors or conversion strategy found`
谢谢,
通常的做法是使用 POST
或 PUT
方法并用 @RequestBody
注释自定义对象。例如:
@RequestMapping(value = "/service",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE)
public int service(@RequestBody CustomClass paramIn) {
// do something with the paramIn
}
如果你 POST
你的 CustomClass
实例到端点 /service
Spring 的 JSON 表示将反序列化它并将它作为参数传递给你的控制器。