私はSpring MVC Webアプリケーションを開発中です。私はまだUIを開発していません。ですから、私はAdvance Rest Clientツールを使ってサービスをテストしています。JSONを読み込めませんでした:フィールド名に予期しない入力がありました
マイコントローラー
@Controller
@RequestMapping("/testController")
public class TestController {
@Autowired
private TestService testService;
@RequestMapping(value = "/test", method = RequestMethod.POST, consumes = { MediaType.APPLICATION_JSON_VALUE }, produces = { MediaType.APPLICATION_JSON_VALUE })
public
@ResponseBody void testMethod(@RequestBody TestParam testParam) {
String tenant = testParam.getTenantCode();
String testString = tenant + " is the tenant";
}
}
TestParam.javaクラスは
public class TestParam {
private String testVar;
private String tenantCode;
public String getTenantCode() {
return tenantCode;
}
public void setTenantCode(String tenantCode) {
this.tenantCode = tenantCode;
}
public String getTestVar() {
return testVar;
}
public void setTestVar(String testVar) {
this.testVar = testVar;
}
}
私はアドバンス休憩クライアントとヘッダと要求リンクが正しく設定されているを使用して要求を送信します。
{"testVar":"Test","tenantCode":"DEMO"}
リクエストリンク
http://localhost:8080/myApp/controller/testController/test
TestParamは1 veriableを持っているとき、それは正常に動作します。 2つ以上になると、エラーが発生し、testMethodにヒットしません。
exception is com.fasterxml.jackson.core.JsonParseException: Unexpected end-of-input in field name at [Source:[email protected]; line: 1, column: 43]
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType(MappingJackson2HttpMessageConverter.java:181)
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.read(MappingJackson2HttpMessageConverter.java:173)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:135)
私はもっと多くの記事を投げていましたが、答えはまだ見つかりませんでした。
コードは正常です。あなたは 'POSTman'のような他のクライアントを試して、ARCが物事をねじ込んでいるかどうかを調べることができますか? – yogidilip