ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringMVC 注解驱动开发(三)Rest风格URL请求相关注解与跨域注解

2021-07-31 16:00:22  阅读:102  来源: 互联网

标签:String SpringMVC 请求 Rest default 注解 id name


SpringMVC 注解驱动开发(三)Rest风格URL请求相关注解与跨域注解

Rest风格URL请求相关注解

@PathVariable

它是springmvc框架支持rest风格url的标识。它可以用于获取请求url映射中占位符对应的值。
在这里插入图片描述

  • name和value是一样的。指定url映射中占位符的名称,参数和占位符的名称相同,可以省略
  • 用于指定是否必须有此占位符。当取默认值时,没有会报错。

示例

@Controller
public class ResponseBodyController {

    @RequestMapping("useResponseBody/{id}")
    @ResponseBody
    public String useResponseBody(String name, @PathVariable(name = "id",required = false) Integer id) {
        return name+"=="+id;
    }
}

跨域访问

@CrossOrigin

此注解用于指定是否支持跨域访问

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CrossOrigin {

    @Deprecated
    String[] DEFAULT_ORIGINS = new String[]{"*"};

    @Deprecated
    String[] DEFAULT_ALLOWED_HEADERS = new String[]{"*"};

    @Deprecated
    boolean DEFAULT_ALLOW_CREDENTIALS = false;

    @Deprecated
    long DEFAULT_MAX_AGE = 1800L;

	/***
	 它和origins属性一样, "*"代表所有域的请求都支持
	 如果没有定义,所有请求的域都支持
	  */
    @AliasFor("origins")
    String[] value() default {};

    @AliasFor("value")
    String[] origins() default {};

    String[] originPatterns() default {};
	
	/*** 允许请求头中的header,默认都支持 */
    String[] allowedHeaders() default {};
	/*** 响应头中允许访问的header,默认为空 */
    String[] exposedHeaders() default {};
	/*** 用于指定支持的HTTP请求方式列表 */
    RequestMethod[] methods() default {};
	/*** 是否允许cookie随请求发送,使用时必须指定具体的域 */
    String allowCredentials() default "";
	/*** 预请求的结果的有效期 * 默认值是:1800秒 (30分钟). */
    long maxAge() default -1L;
}

示例

@Controller
@CrossOrigin
public class ResponseBodyController {

    @RequestMapping("useResponseBody/{id}")
    @ResponseBody
    public String useResponseBody(String name, @PathVariable(name = "id",required = false) Integer id) {
        System.out.println("支持跨域访问");
        return name+"=="+id;
    }
}

标签:String,SpringMVC,请求,Rest,default,注解,id,name
来源: https://blog.csdn.net/qq_45297578/article/details/119273586

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有