spring boot 框架中的简单http请求

定义UserService接口,用UserServiceImpl实现该接口,覆写deleteUser方法,并且在HttpTestController调用此方法,实现delete请求的参数传递。

1 get请求方式

@RequestMapping(value = "/map.json", method = {RequestMethod.GET,})
    @ResponseBody
    public Map map(){
        Map map = new HashMap();
        map.put("name","cbhengboying");
        map.put("sex","man");
        map.put("age",22);
        List list = new ArrayList();
        list.add("red");
        list.add("black");
        list.add("blue");
        list.add("yellow");
        map.put("colors",list);
        return map;
    }

效果图:

spring boot 框架中的简单http请求_第1张图片
image.png

2 post请求方式

@RequestMapping(value = "post",method = RequestMethod.POST)
@ResponseBody
public User post( @RequestBody User user){
        return user;
}

效果图:

spring boot 框架中的简单http请求_第2张图片
image.png

3 put请求方式

@RequestMapping(value = "put",method = RequestMethod.PUT)
    @ResponseBody
    public User put( @RequestBody User user){
        return user;
    }

效果图:

spring boot 框架中的简单http请求_第3张图片
image.png

4 delete请求方式

@RequestMapping(value = "/delete/{id}",method = RequestMethod.DELETE)
    @ResponseBody
    public String delete(@PathVariable("id") Long id) throws Exception{
        String result = userService.deleteUser(id);
        System.out.println(result + "service");
        return "删除了"+ id;
    }

效果图:

spring boot 框架中的简单http请求_第4张图片
image.png

以下是user的相关实体

public class User {
    private Long id;
    private String name;
    private Integer age;

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

注:常用到的注解

@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。

@Service:用于标注业务层组件。

@RestController:用于标注控制层组件(如struts中的action),包含 @Controller和@ResponseBody。

@AutoWired:byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。

@RequestBody: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上; ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

@ResponseBody:该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

@PathVariable:当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

github地址:https://github.com/chengboying/spring-boot

你可能感兴趣的:(spring boot 框架中的简单http请求)