• spring boot 三种入参


    先来讲述下最简单的使用get请求用户信息的实现方式,代码如下,写好后直接在Application类点击右键有个RunAs,点击后会自动运行,运行成功后可以使用http发包工具进行测试,这里推荐使用chrome的postman或者使用firefox的httprequester插件,都是比较简单的发包工具,get请求的上送为http://localhost:8081/springboot/getUserByGet?userName=XXX

    //@RestController注解能够使项目支持Rest
    @RestController
    @SpringBootApplication
    //表示该controller类下所有的方法都公用的一级上下文根
    @RequestMapping(value = "/springboot")
    public class UserController {
        //这里使用@RequestMapping注解表示该方法对应的二级上下文路径
        @RequestMapping(value = "/getUserByGet", method = RequestMethod.GET)
        String getUserByGet(@RequestParam(value = "userName") String userName){
            return "Hello " + userName;
        }
    }
    

    这里用到的注解主要有@RequestMapping表示请求的URL上下文路径,该路径不能重复,为了保证与团队其他同事写的不重复,一般会在每个controller前面加一个一级上下文目录,具体路径参数放在value后面,在每个方法前加一个二级目录,这样可以有效的避免路径冲突。还有注解是@RequestParam,该注解可以通过value指定入参,这里return的返回值就是实际的接口返回。

    下面介绍下POST的请求方式,可以通过在@RequestMapping注解中设置method为POST来表示该请求为POST请求,除了get、post还有put、delete等请求方式,都可以通过该参数设置。

    
        //通过RequestMethod.POST表示请求需要时POST方式
        @RequestMapping(value = "/getUserByPost", method = RequestMethod.POST)
        String getUserByPost(@RequestParam(value = "userName") String userName){
            return "Hello " + userName;
        }
    

    下面介绍下请求参数为JSON格式的请求方法的写法,这里需要注意下如果请求参数是像上面那样通过url form形式提交的请求参数,那么必须使用@RequestParam注解来标示参数,如果使用的请求报文是POST形势的JSON串,那么这里在入参的注解一定要使用@RequestBody,否则会报json解析错误。

    
        //在入参设置@RequestBody注解表示接收整个报文体,这里主要用在接收整个POST请求中的json报文体,
        //目前主流的请求报文也都是JSON格式了,使用该注解就能够获取整个JSON报文体作为入参,使用JSON解析工具解析后获取具体参数
        @RequestMapping(value = "/getUserByJson",method = RequestMethod.POST)
        String getUserByJson(@RequestBody String data){
            return "Json is " + data;
        }
  • 相关阅读:
    原型设计工具 SketchFlow
    Vs2010架构设计层图(Layer Diagram)
    javascript in Visual Studio
    COM应用总结补充【COM+】
    WMI介绍、WQL
    Windows Azure Platform AppFabric 3/3
    Windows脚本 实例 3/4
    Silverlight Training
    一个很好的sliverlight站点
    建模形式构建Zend Framework应用
  • 原文地址:https://www.cnblogs.com/zhanglijun/p/9399750.html
Copyright © 2020-2023  润新知