SpringBoot2.X (八): Http接口之POST,PUT,DELETE 请求

POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。

PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。

 举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的
 提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。
 具体用哪个还取决于当前的业务场景。

DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。

接下来,我们用代码简单举例说明一下,当然了,在这里我们都采取直接打印请求参数
的方式来进行简单的编码测试
1,首先是 POST 请求接口:

package com.fxbin123.controller;

import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: fxbin
 * Date: 2018/5/23
 * Time: 22:16
 * Description:
 */
@RestController
public class PostController {

    private final Map<String, Object> params = new HashMap<String, Object>();

    /**
     * 功能描述:测试Post请求
     * @param username
     * @param password
     * @return
     */
    @PostMapping("/login")
    public Object login(String username, String password){
        params.clear();
        params.put("username", username);
        params.put("password", password);
        return params;
    }   
}

测试结果如下:
这里写图片描述

2,PUT 请求方式

package com.fxbin123.controller;

import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: fxbin
 * Date: 2018/5/23
 * Time: 22:22
 * Description:
 */
@RestController
public class PutController {

    private final Map<String, Object> params = new HashMap<String, Object>();

    @PutMapping("/put")
    public Object put(String id){
        params.clear();
        params.put("id", id);
        return params;
    }
}

接口测试结果:
这里写图片描述

3.DELETE 接口测试:

package com.fxbin123.controller;

import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: fxbin
 * Date: 2018/5/23
 * Time: 22:24
 * Description:
 */
@RestController
public class DeleteController {

    private final Map<String, Object> params = new HashMap<String, Object>();

    @DeleteMapping("/v1/del")
    public Object del(String id){
        params.clear();
        params.put("id", id);
        return params;
    }   
}

delete 接口测试结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/fxbin123/article/details/80427543