저는 Spring을 사용하는 데있어 매우 익숙하며 관련된 모든 일들을 처리하고 있지만이 문제를 해결하려고합니다.JSON 문자열을 이해하기 위해 Spring과 함께 RESTful 웹 서비스 받기
JSON 형식 문자열을 이해하기 위해 Spring MVN 및 Gradle을 사용하여 서비스를 만들려고합니다. 그것은 모두 Java로 만들어졌습니다. 하지만 나는 그것이해야하는 것처럼 작동하도록 할 수는 없습니다.
이
@RequestMapping(value = "/toggle")
public @ResponseBody String sendCommand(@RequestParam(value="IP") String IP){
//body
}
내가 다음 JSON 형식의 문자열
{"IP":"192.168.1.9"}
를 보낼 때 난 아직도 응답 코드를 400
I를 얻을, 내 컨트롤러의 방법이지만, 예를 들어, @RequestBody 대신 indata에 대해 자체 클래스를 사용하는 다른 변형을 시도했습니다. 그리고 또 다른 곳에서 HttpEntity를 수신하여 String이 올바르게 수신되었는지 여부를 확인합니다. 문자열이 올바르게 수신되는 동안 내 코드를 "읽을"수 없습니다.
내가 로컬 호스트에 갈 수 : 8080/전환 및 변수 설정 HTTP를 통해 말 :
http://localhost:8080/toggle?IP=192.168.1.9
작품.
어디에서 문제 해결을 계속 하시겠습니까? 미리 감사드립니다.
편집 : 와우. 빠른 답장을 보내 주셔서 감사합니다. 답장을받지 않고 하루나 이틀 만에 나가기를 기대했지만 대신 수분 내에 도움을 받았습니다. 나는이 사이트가 좋았다는 것을 알았지 만, 당신은 훌륭합니다, 고마워요!
즉, Const라고하는 새로운 클래스를 생성했습니다.이 클래스에는 생성자, setter 및 getter가있는 전용 String 변수 만 있습니다. 지금은 비록 같은 문자열을 전송
@RequestMapping(value = "/toggle")
public @ResponseBody String sendCommand(@RequestBody Ident ident) {
//body
}
나는 아직도 수 400있다.
@PathVariable을 사용하여 작동하는 동안, 나는 이것을 실험하고 있기 때문에 작동하도록하고 싶습니다. 나중에 IP 이상을 보내는 데 사용됩니다.
나는 것들과 관련, 주요 파일에 무언가가 힘을 @ComponentScan @EnableAutoConfiguration 을 사용하고 있습니다 - 잘못 설정 가져옵니다?
당신이해야 확실히 @RequestBody를 사용하고 있습니다. 그 JSON 개체는 잭슨에 의해 deserialize 될 것으로 예상되는 Java 개체를 나타내거나 손으로 파싱 할 계획입니까? – jgitter
서버에서 스택 추적을 얻고 있습니까? 로그를 확인 했습니까? – jgitter
편집 : 형식이 잘못되었으므로 원본 질문에 추가하고 있습니다. – Mattedatten