【问题标题】:Spring Send JSON data via HTTP POST not workingSpring通过HTTP POST发送JSON数据不起作用
【发布时间】:2015-12-21 16:04:17
【问题描述】:

我有个小问题,我按照Spring RestTemplatehttp://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);
}

消息.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;
  }
}

【问题讨论】:

    标签: java android json spring post


    【解决方案1】:

    使用this 框架注释您的类Message,因为您的服务器接受数据(注意区分大小写/不区分大小写等等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      相关资源
      最近更新 更多