SpringBoot中写接口常用的注解

一、@GetMapping、@PostMapping和@RequestMapping的区别

在Spring MVC 中使用 @RequestMapping来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置的映射作用一致。

@GetMapping是一个作为快捷方式的组合注释,相当于
@RequestMapping(method = RequestMethod.GET)
@PostMapping是一个作为快捷方式的组合注释,相当于@RequestMapping(method = RequestMethod.POST)

参考博客:https://blog.csdn.net/renanrenan/article/details/84654362/

二、@RequestBody与@RequestHeader的区别

	import org.springframework.web.bind.annotation.*;
	
	@GetMapping("/getSign")  
    public String genUserSig(@RequestHeader("sign") String sign){
        String sign = "2021314";
        return sign;
    }
    @PostMapping("/selectUser")
    public String selectUserPhotoAndName(@Valid @RequestBody SelectUserFrom form){
        String userSelected = "";
        return userSelected;
    }

参考博客:https://blog.csdn.net/kobejayandy/article/details/12690161

三、@ResponseBody的作用

这里讨论下: @ResponseBody在什么情况下使用?
先来看一段代码:

@Controller
@RequestMapping("/")
public class HelloController {

	@RequestMapping(value = "/something", method = RequestMethod.GET)
	@ResponseBody
	public String helloWorld() {
		return"Hello World";
	}
}

运行以上代码,在浏览器地址栏输入: http://localhost:8080/something
运行结果,页面上输出 Hello World
如果去掉 @ResponseBody,会出现Whitelabel Error Page 404的错误。
在这里插入图片描述
结果分析:如果在一个方法上使用了@RequestMapping注解,方法的返回值通常解析为跳转的路径, 也就是说要跳转到指定的jsp页面。在这个代码示例中,表示要跳转到的是 Hello World.jsp页面。 因为工程中尚未添加这个jsp文件,所以报出了 404 错误 (The requested resource is not available)。
如果添加了 @ResponseBody这个注解, 则表明该方法的返回值直接写入到 HTTP Response Body中。 这就是说,如果返回的是JSON, 就得必须添加 @ResponseBody这个注解
一般在异步获取数据时使用。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@ResponseBody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@ResponseBody后,会直接返回json数据。

四、@Valid的用法

参考博客:https://blog.csdn.net/weixin_38118016/article/details/80977207

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值