在Spring上对Ajax请求什么都不响应的正确方法

时间:2019-07-10 15:00:20

标签: spring

我正在发送AJAX请求,以使我的项目异步进行简单的CRUD

我不需要服务器的任何响应,只需要插入,更新或删除数据库中的数据即可。

我还了解到必须对请求做出响应,因此我尝试了一些伪造该请求的方法,但是所有这些感觉都不对。

  1. 返回无意义的值

只需返回任何值,如boolean或空字符串,而不使用它

<Form.Field required>
  <Checkbox
    radio
    label="Existing Analysis"
    name="typeOfRequest"
    value={'all'}
    checked={requestCategory === 'all'}
    onChange={this.handleRequest}
  />
</Form.Field>
  1. 退回一些东西,但不使用

与1几乎相同,因为我没有使用它

@PostMapping("/whatever")
public @ResponseBody boolean something() {
  doSomething();
  return true;
}
  1. 不在乎响应,只是出错并且不介意

使用catch或始终与ajax请求一起使用,控制台上会出现很多错误,感觉确实不正确

@PostMapping("/whatever")
public @ResponseBody MyObject something() {
  doSomething();
  return new MyObject();
}
@PostMapping("/whatever")
public void something() {
  doSomething();
}

所有这些都可以按我的意愿工作,但是这使我认为,当我不需要任何响应时,可能会有更好的方式编写代码。

对此有何建议?

1 个答案:

答案 0 :(得分:1)

@ResponseStatus(HttpStatus.NO_CONTENT)批注添加到控制器路由,然后您无需返回任何内容。您的原型将是“ public void doSomething()”。

我们将其用于删除呼叫。