[til]更好地回复发布请求(春季启动)
#网络开发人员 #api #java #todayilearned

编写保存数据的API时,如果有一种方法可以查看存储的数据,那将是不错的选择。因此,通常在API的响应中返回ID。
Spring Boot提供了一种更好的方法来处理此问题,通过在响应实体中提供创建的方法,该方法接受URL作为参数并在他响应状态时返回201。

ResponseEntity.created(
  URI.create("http://domainname/getEndpoint/"+entity.getId())
).build();

这将在上述URL上应用一个称为位置的响应标头。

Image description

但是,我们想使域名动态化,因为可以将API部署到多个环境中。
快速的Google搜索使我进入了此堆栈溢出答案

我想根据客户端用于活动请求的URL创建URL。有什么比采用当前的HttpServletRequest对象更聪明的东西,是重建完整URL的getParameter...()方法,包括(并且仅)是获取参数。

澄清:如果可能的话,我想辞职

这是该代码段

URI uri = ServletUriComponentsBuilder
             .fromCurrentContextPath()
         .path("/get/{id}")
             .build(String.valueOf(entity.getId()));

return ResponseEntity.created(uri).build();

和最终响应

Image description

结论(da ta daaa)因此,在将近一年后,我再次在这里发布了此处。始终以张开双臂欢迎任何形式的建设性杂交。所以。