Spring boot(三) 创建rest接口

学习过程中看到很多朋友为了省事,把Application的启动类作为Controller,在实际的项目过程中严重反对这样的行为(bad smell);

创建controllers的package,并创建类InterfaceDemoController

@RestController
public class InterfaceDemoController {
}

创建方法,期望结果是,在浏览器中输入localhost:8080/getString可以得到一个字符串this is a string

@RequestMapping("/getString")
public String getResultAsString() {
    return "this is a string";
}

执行结果:

Spring boot(三) 创建rest接口_第1张图片
符合预期

主要annotation解释:

@RestController:用来标识一个类是Controller类型的,会通过Spring进行实例化,并可以接受到http请求;
@RequestMapping:标识方法或类作为一个http接口时的调用路径,如上面例子中如果没有在类中指明上下文,则getString标识接口地址为:ip:port/getString
注意:经过测试,"/getString"和"getString"的效果一致

在实际的业务实现中往往没有返回一个字符串那么简单,当然字符串也可以是个Json,只不过还要自己来转换一次,接下来实现一个直接返回自定义的对象;


定义一个java bean

public class User {
    public final String username;
    public final String password;

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }
}

定义rest接口

    @RequestMapping("getUser")
    public User getUser() {
        return new User("username", "password");
    }

浏览器中输入localhost:8080/getUser,查看结果:

Spring boot(三) 创建rest接口_第2张图片
符合预期

你可能感兴趣的:(Spring boot(三) 创建rest接口)