相关疑难解决方法(0)

@RequestBody和@RequestParam之间有什么区别?

我已经通过Spring文档了解@RequestBody,并且他们给出了以下解释:

所述@RequestBody方法参数注释指示方法参数应绑定到HTTP请求正文的值.例如:

@RequestMapping(value = "/something", method = RequestMethod.PUT)
public void handle(@RequestBody String body, Writer writer) throws IOException {
  writer.write(body);
}
Run Code Online (Sandbox Code Playgroud)

您可以使用a将请求主体转换为方法参数HttpMessageConverter.HttpMessageConverter负责从HTTP请求消息转换为对象并从对象转换为HTTP响应主体.

DispatcherServlet支持使用DefaultAnnotationHandlerMapping和支持基于注释的处理AnnotationMethodHandlerAdapter.在Spring 3.0中,AnnotationMethodHandlerAdapter扩展为支持@RequestBodyHttpMessageConverter默认注册以下s:

...

但我的困惑是他们在文档中写的句子

@RequestBody方法参数注释指示应将方法参数绑定到HTTP请求正文的值.

那是什么意思?任何人都可以举个例子吗?

@RequestParamspring doc中的定义是

注释,指示应将方法参数绑定到Web请求参数.支持带注释的处理程序方法ServletPortlet环境.

我在他们之间感到困惑.请帮助我举一个关于它们彼此不同的例子.

spring spring-mvc servlet-3.0 http-request-parameters spring-boot

54
推荐指数
5
解决办法
8万
查看次数

学习Spring的@RequestBody和@RequestParam

我正在编辑一个使用Spring的Web项目,我需要添加一些Spring的注释.我正在添加的两个是@RequestBody@RequestParam.我一直在探索一下并找到了这个,但我仍然不完全理解如何使用这些注释.谁能提供一个例子?

java spring spring-mvc

14
推荐指数
1
解决办法
4万
查看次数

Spring:当我的班级已经用@RestController注释时,为什么仍要使用@RequestBody?

我目前正在将Java和Spring用于我的Web服务应用程序。我正在使用@RestController注释,希望不再需要使用@ResponseBody@RequestBody注释。不幸的是,删除了@RequestBody注释会使序列化失败。

这是我的代码,没有将请求正文映射到我的方法参数,而我没有:

@RestController
@RequestMapping(value = "/member", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class MemberController {
    @Autowired
    private MemberService memberService;

    @RequestMapping("/create")
    public void create(Member member) {
        memberService.create(member);
    }

    @RequestMapping("/read")
    public Member read(Member member) {
        return memberService.read(member);
    }

    @RequestMapping("/update")
    public void update(Member member) {
        memberService.update(member);
    }

    @RequestMapping("/delete")
    public void delete(Member member) {
        memberService.delete(member);
    }

    @RequestMapping("/retrieveById")
    public Member retrieveById(Member member) {
        return memberService.retrieveById(member);
    }

    @RequestMapping("/retrieveAll")
    public List<Member> retrieveAll(Member member) {
        return …
Run Code Online (Sandbox Code Playgroud)

java rest spring

5
推荐指数
1
解决办法
1208
查看次数