Spring-boot之编写后端接口

学习使用Spring-boot如何开简易的接口,同时看到这篇文章介绍如何规范接口,做下记录。

用SpringBoot 手把手教你写出优雅的后端接口

很早以前有用过Eclipse来写过简单的接口,那也是入门级的,现在学习spring-boot,嗯,真香!神器!

初学的话直接到spring官网,https://start.spring.io/ 下载最简单的demo,要勾选web依赖
在这里插入图片描述
下载后解压,就可以用IDEA打开了,这里如果一直在下载依赖的话,需要settings.xml文件使用阿里的镜像来加快构建,具体百度。

1、最简单的接口

直接在Application类里编写

    @RequestMapping("/hello")
    public String hello() {
        return "Hello Spring";
    }

在java环境一切正常的情况下,运行项目,便可以直接访问 http://localhost:8080/hello来验证是否成功了,如果一切顺利的话 会得到输出 字符串 “Hello Spring”;
在这里插入图片描述
由于参照 统一接口规范.这篇文章,已经对返回接口做了封装处理,data里的值才是方法return的内容。(忽略乱码)。后面的接口也是如此。

当然这只是最简单的接口,接下来来个稍微复杂点的

2、GetMapping获取对象

@GetMapping("/getUser")
public User getUser() {
    User user = new User();
    user.setSex(1);
    user.setAge(21);
    user.setPsw("12345678");
    user.setName("123@qq.com");
    return (user);
}

这和上面那个都是get形式的接口,运行http://localhost:8080/getUser,会得到如下字符串。
在这里插入图片描述
以上是不带参数的GET接口,接下来是纠结我半天的问题了

3、POST请求

同样是 统一接口规范.这篇文章,给post请求添加参数校验之后,写了这样的代码

    /**
     * 参数是对象,则请求接口时 需要上传raw格式的对象json  此处为 user对象的json格式
     *
     * @param user
     * @return
     */
    @PostMapping(value = "/login")
    public User login(@RequestBody @Valid User user) {
        //验证处理
        return user;
    }

这个时候用postman来访问的时候,就要命,使用Parms 或者 Body 访问都提示content type **** not supported。
在这里插入图片描述
它会提示Required request body is missing: public com.wyl.demospring.beans.User com.wyl.demospring.DemospringApplication.login(com.wyl.demospring.beans.User)]
在这里插入图片描述
它会提示 Content type 'multipart/form-data;boundary=--------------------------774540668608363326325112;charset=UTF-8' not supported]
以上两种方式请求POST都不行!!!

百度了很久才搞明白。。。参数列表接收的是User对象,用postman请求的时候需要选择Raw栏 里面字符串得要是User对象的json格式,并且选择 json 。这里也是为难一个一直搞Android的菜鸡程序员啊,对后台知识了解得不多。
在这里插入图片描述
上面失败的那两种只适合如下的接口形式,以键值的形式。也就是参数列表是零散的一个个参数字段

    /**
     * key-value形式
     * 参数是以列表形式 则post请求接口时 可以拼接参数 也可以body提交
     *
     * @param name
     * @param psw
     * @return
     */

    @RequestMapping(value = "/login2", method = RequestMethod.POST)
    public String login2(@RequestParam String name, @RequestParam String psw) {
        //验证处理
        return "登录成功";
    }

在这里插入图片描述在这里插入图片描述

要掌握各个注解的意思以及用法

@GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping

以上便是对spring-boot开接口的一个学习记录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值