当前位置: 首页 > 面试题库 >

@RequestBody的替代

燕琛
2023-03-14
问题内容

是否有另一种方法可以获取对请求正文的引用,而无需使用带有注释的方法?我正在使用,GAE + Spring并且每次@RequestBody在控制器方法的签名中使用时,服务器都会返回415 Unsupported Media Type。我想要做的就是JSON encoded message在Post方法上读取a 。谢谢。


问题答案:

你可以采取的参数HttpServletRequest,以及阅读ServletInputStream使用getInputStream()从那里。流将包含请求的主体。

@Controller
public class MyController {
    @RequestMapping("/test")
    public String aTest(HttpServletRequest request) {
        InputStream body = request.getInputStream();
        //process request body
        return myReturnVal;
    }
}


 类似资料:
  • 我有这样基于方面的日志记录: 当我使用RequestBody执行请求时,它工作正常,会触发advice。但是,当我执行没有

  • 我正在设置RestController以接收一个json,其中包含另一个json(我现在不知道第二个json的结构)。。。比如: 我的请求类是这样的: 但是当我调用我的控制器时,

  • 这可能是一个简单的任务,但我找不到一个方法去做。基本上,在我的控制器中使用注释时,我需要不允许某些参数。 更新1: 现在,我只能使用请求包装器。我创建了一个新类,其属性仅为,并将其与批注一起使用。

  • 对于下面的方法,JSONObject总是为空。 我的ajax是这样的。我的方法得到的对象作为空地图在服务器端

  • 使用Spring Boot1.4和Spring Data Rest/MVC,我无法使@valid@requestbody工作。我已经尝试了多个版本的Hibernate验证器,声明验证器bean等。 MyPojo包含各种验证注释,例如@digits、@notnull等。当调用repostiory.save方法但Spring没有尝试对POJO进行任何验证时,我实际上看到了验证器异常。 更新 当试图将实

  • 我有: 和: 我不喜欢的是手动将从放入:。 对于正文为的POST请求,如何在中自动设置,以便您获得如下所示的? 基本上,我想要这样的东西: 有没有办法做到这一点? 谢谢你!:) 编辑:这是一个老问题,仍然没有答案,所以我想为这个问题添加新的视角。 我们遇到的另一个问题是验证,即基于某个字段和进行验证的特定定义的自定义约束。 如果我们从请求体中删除,那么我们如何从自定义约束中访问它呢?:)

  • 问题内容: 有人可以在Spring 3中解释@RequestBody和@ResponseBody注释吗?他们是干什么的?任何例子都很好。 问题答案: 在文档中有一个名为16.3.3.4的完整章节,其中将请求主体与@RequestBody批注进行映射。还有一个叫做16.3.3.5的映射,它使用@ResponseBody注释映射响应主体。我建议你查阅这些部分。也相关:@RequestBodyjavad

  • 有人能解释一下Spring3中的和注释吗?它们是干什么用的?任何例子都很好。