首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring:在POST方法之后发送响应

Spring:在POST方法之后发送响应
EN

Stack Overflow用户
提问于 2015-09-16 14:25:56
回答 2查看 1.3K关注 0票数 0

我正在使用Spring,我试图在发布请求后发送一个响应体。似乎Spring正在发回一些东西,但它是空的..。

第一个问题:是否可以在发送请求后发送json回复?

第二个问题:如果是,我是否必须包括一些特定的标题?

提前感谢

代码

代码语言:javascript
复制
  @CrossOrigin
  @ApiOperation(value = "Update an application", notes = "Update a document given its id. If a field is let empty, the value will not be updated.", response = Application.class)
  @ApiResponses(value = {
    @ApiResponse(code = 200, message = "successful operation"),
    @ApiResponse(code = 403, message = "Request could not be authorized."),
    @ApiResponse(code = 500, message = "Internal Server Error."),
    @ApiResponse(code = 400, message = "Malformed request.") })
  @RequestMapping(value = "/update",
    produces = { "application/json" },
    consumes = { "application/json", "text/json" },
    method = RequestMethod.POST)
  public ResponseEntity<Application> updateApplication(@ApiParam(value = "ID of the document", required = true) @RequestParam(value = "docId", required = true) String docId,
@RequestBody @ApiParam(value = "Additional data given to the application"  ) ApplicationData data)
      throws NotFoundException {

        ApplicationControllerMock dummyClass = new ApplicationControllerMock();

        ResponseEntity<Application> dummyResponse = dummyClass.updateApplication(docId, data);

        return dummyResponse;

  }

Application是由swagger-codegen生成的类。如果我在GET方法中使用它,它只会返回一个JSON对象。

打印dummyResponse

如果我打印变量dummyResponse,就会得到以下内容:

代码语言:javascript
复制
<200 OK,class Application {
  docId: cdb226df5398f564173db460b52f40de
  companyId: 123
  projectId: 123
  rev: 2-fce2134de32fae95cee4192debef4600
  docType: 3
  docCreated: 2015-09-01T02:30:14Z
  docDeleted: false
  data: class ApplicationData {
  status: string
  domain: string
  name: string
  version: string
  gaCode: string
}

  id: a2cf532b721eedb542e884820b180b55
}
,{Access-Control-Allow-Credentials=[true], Access-Control-Allow-Origin=[*], Access-Control-Allow-Methods=[GET, OPTIONS, POST, HEAD], Access-Control-Allow-Headers=[Origin, X-Requested-With, Content-Type, Accept], Content-Type=[application/json], Access-Control-Max-Age=[3600]}>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-17 09:20:04

我发现了问题..。@CrossOrigin自动创建这两个标头:

  • “访问-控制-允许-来源”
  • “访问-控制-允许-凭证”

由于我也是手动添加它们,这两个标题出现了两次。所以,我只需要把它们移走,它就起作用了。

票数 0
EN

Stack Overflow用户

发布于 2015-09-16 14:29:15

是的,当请求是帖子时,可以发回回复。

您不必添加任何特定的标题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32611427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档