Controller的使用


对于只使用@Controller注解控制器,必须配套有模板(如JSP),否则报404错误
而使用@RestController注解则不须配有模板

只使用@Controller注解

须添加模板,此处为如Spring官方的Thyemleaf模板(替代JSP的好东西),添加jar包

目录结构:

模板文件:index.heml

<h1>hello Spring Boot!</h1>

控制器类:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/** * Created by Shusheng Shi on 2017/5/3. */
@Controller
public class HelloController {

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public String say() {
        return "index";
    }

}

运行结果


现在流行前后端分离,后端只需要提供rest接口,返回一些json格式给前端,不需要模板,会影响性能

若将控制器类里的方法写成如下所示(即无method属性)

 @RequestMapping(value = "/hello")
    public String say() {
        return girlProperties.getCupSize();
    }

那么使用GET/POST方式访问皆可.不过并不推荐如此写法,毕竟两种方法适合于不同需求

控制器方法

@RequestMapping(value = "/{id}/say", method = RequestMethod.GET)
    public String say(@PathVariable("id") int id) {
        return "id: " + id;
    }

运行结果

控制器方法

@RequestMapping(value = "/say", method = RequestMethod.GET)
    public String say(@RequestParam("id") int myId) {
        return "id: " + myId;
    }

运行结果

设置id默认值

@RequestMapping(value = "/say", method = RequestMethod.GET)
public String say(@RequestParam(value = "id", required = false, defaultValue = "0") int myId) {
        return "id: " + myId;
    }

运行结果


另替代写法

//  @RequestMapping(value = "/say", method = RequestMethod.GET)
    @GetMapping(value = "/say")
全部评论

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
点赞 评论 收藏
分享
头像
10-09 19:35
门头沟学院 Java
洛必不可达:java的竞争激烈程度是其他任何岗位的10到20倍
点赞 评论 收藏
分享
10-10 17:54
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务