有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaSpringWebService不会读取JSON

由于编辑一个问题似乎并没有增加更多的答案,我将继续在一个新的线程中提问

问题是,我正试图用Spring建立一个非常基本的web服务,我应该能够通过Java向它发送JSON

但我对Spring和web服务都是新手,所以我不知道在哪里进行故障排除

老问题:Getting a RESTful webservice with Spring to understand a JSON-string

现在我的控制器里有这个

@RequestMapping(value = "/toggleB")
public @ResponseBody String sendCommand(@RequestBody Ident ident) {
//body
}

Ident类只有一个字符串作为变量,称为IP

发送此字符串

 {"IP":"192.168.1.9"}

给出返回代码400

问题是,我认为在构建过程中可能出现了一些错误或缺失。gradle(或pom.xml)。 正确的Gradle/Spring项目应该如何组织

我的主要方法是runnable,如下所示:

 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.context.annotation.ComponentScan;

 @ComponentScan
 @EnableAutoConfiguration
 public class mainFile {
     public static void main(String[] args) {
         SpringApplication.run(mainFile.class, args);
     }
 }

我不使用任何bean作为配置,这可能是导致我的程序失败的原因吗

再次感谢您的回复! 我希望我没有因为继续这样的问题而违反规则,但我不知道如何把旧的问题反驳起来。 啊。。。对一个网站来说是全新的缺点,呵呵


共 (1) 个答案

  1. # 1 楼答案

    如果要在请求体中发送JSON,请将其设置为POST或PUT请求,并添加头以接受JSON。获取Json作为字符串,然后使用Json解析器将其解析为JsonNode或任何您想要的内容。最后回复一个回复。下面是一个示例代码。如有必要,请在评论中提出具体问题,以便澄清

    @RequestMapping(value = "/toggleB", method = RequestMethod.POST, headers = "Accept=application/json")
    public ResponseEntity<java.lang.String> sendCommand(@RequestBody String ident) {
    
        // Do your stuff
    
        return new ResponseEntity<String>("Some response data/message",new HttpHeaders(), HttpStatus.OK);
    }