繁体   English   中英

Spring通过HTTP POST发送JSON数据不起作用

[英]Spring Send JSON data via HTTP POST not working

我有一个小问题,我跟随Spring RestTemplate的负责人http://docs.spring.io/autorepo/docs/spring-android/1.0.x/reference/html/rest-template.html进行了称为POST ,但是当服务器应该获取JSON时,什么也没收到,我确定服务器功能已经测试过。 有人会告诉我我错了吗?

RegisterTaskMessage.java

public class RegisterTaskMessage extends AsyncTask<String, String, String> {

  public RegisterTaskMessage() {

  }

  protected String doInBackground(String... params) {

    Message message = new Message();
    message.setId(555);
    message.setSubject("test params");
    message.setText(params[1]);

    // Set the Content-Type header
    HttpHeaders requestHeaders = new HttpHeaders();
    //requestHeaders.setContentType(new MediaType("application", "json"));
    requestHeaders.setContentType(MediaType.APPLICATION_JSON);
    HttpEntity<Message> requestEntity = new HttpEntity<Message>(message, requestHeaders);

    // Create a new RestTemplate instance
    RestTemplate restTemplate = new RestTemplate();

    // Add the Jackson and String message converters
    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
    restTemplate.getMessageConverters().add(new StringHttpMessageConverter());

    // Make the HTTP POST request, marshaling the request to JSON, and the response to a String
    ResponseEntity<String> responseEntity = restTemplate.exchange(params[0], HttpMethod.POST, requestEntity, String.class);
    String result = responseEntity.getBody();
    return null;
  }
}

MainActivity.java

private void sendRegistrationIdToBackend() {
   new RegisterTaskMessage().execute("127.0.0.1/post.php", id);
}

Message.java

public class Message
{
  private long id;

  private String subject;

  private String text;

  public void setId(long id) {
    this.id = id;
  }

  public long getId() {
    return id;
  }

  public void setSubject(String subject) {
    this.subject = subject;
  }

  public String getSubject() {
    return subject;
  }

  public void setText(String text) {
    this.text = text;
  }

  public String getText() {
    return text;
  }
}

当服务器接受数据时,使用框架为类Message注释(请注意区分大小写/不区分大小写,以此类推)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM