spring-boot Web开发基础1-注解部分

一、@GetMapping @PostMapping @PutMapping等

二、@RequestParam  传递参数

            value-指定参数名字  defaultValue:默认值,可选 required:是否必选

   /**
     * @GetMapping:Spring4.3新特性,只支持get请求
     * @PostMapping,@PutMapping同理
     * @RequestParam:传递参数:value:指定参数名字 defaultValue:默认值,可选
     * required:是否必须
     */ 
@ResponseBody
    @GetMapping("/getmapping")
    public String get(@RequestParam(value = "username", defaultValue = "houzheng") String usrename,
                      @RequestParam(value = "password", required = true) String password) {
        return "get springboot" + usrename + "---" + password;

    }

 三、@PathParam 获取url中的参数

   /**
     * @PathParam:获取url中的参数 , 可直接注入servlet的api
     */
    @ResponseBody
    @PostMapping("/postmapping/{id}")
    public String post(@PathParam("id") String id, HttpServletRequest req) {
        req.getRemoteHost();
        return "post springboot";
    }

四、@RestController

        用于类上,表示方法可以直接用body输出,不用再写@ResponseBody

        虽然结果会输出为json,但是如果不设置Content-Type,默认是html。

        设置作用:

        Content-Type 实体头部用于指示资源的MIME类型 media type 。在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。浏览器会在某些情况下进行MIME查找,并不一定遵循此标题的值; 为了防止这种行为,可以将标题 X-Content-Type-Options 设置为 nosniff。在请求中 (如POST 或 PUT),客户端告诉服务器实际发送的数据类型。


     

      Spring留了一个设置响应消息Content-Type的接口。在注解@RequestMapping增加一个produces参数项即可。

       @RequestMapping(value = { "/api/v1/test" }, method = { RequestMethod.POST }, produces="application/json;charset=UTF-8")

        相当于在代码中设置

        response.setCharacterEncoding("UTF-8");
        response.setContentType("application/json;charset=utf-8");

猜你喜欢

转载自blog.csdn.net/lidongliangzhicai/article/details/91490618