SpringBoot之Controller使用

  SpringBoot之Controller使用

  Controller的使用

@Controller处理http请求
@RestControllerSpring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller
@RequestMapping配置url映射

 

项目前后台交互的话 无非两种方式

一种普通整体页面提交,比如form提交;

还有一种局部刷新,或者叫做异步刷新,ajax提交;

@Controller就是整体页面刷新提交的处理注解

@RestController就是ajax提交,一般返回json格式

各有用处的;

 

这里我们分别来演示上面两种交互

首先演示下@Controller整体页面交互

这里的话请求后台,必须返回一个视图,以前我们一般用Jsp,

但是SpringBoot不推荐我们实用jsp,主要是强调前后台分离;

官方推荐的是这几种模版视图引擎,我一般推荐Freemarker和Velocity;

 

后面专门推出一起Freemarker或者Velocity教程;

我们用Freemarker来演示下;

 

首先第一步,添加Freemarker支持,我们有两种方式,

第一种 直接找依赖 然后贴到pom.xml里,这种费时间

我们用第二种,直接工具,打开pom.xml

alt+/ 提示

 

 点下 Edit Starters

 

 选择Freemarker,然后点“OK”即可

这样就自动添加了依赖,

然后我们新建一个新的Controller类 HelloWorldFreemakerController

定义一个message,设置返回视图helloWorld

 

对应的,我们在templates下新建一个helloWorld.ftl模版文件

 

 文件内容:

我们测试下,启动HelloWorldApplication

然后浏览器输入:http://localhost:8888/HelloWorld/freemarker/say

页面显示结果:

 

 

 

 

我们再演示下@RestController,ajax方式

我们新建一个HelloWorldAjaxController类

返回json串

 

这里我们用的是jquery,随便找个jquery.js

再新建一个index.html

 

 index.html代码:

启动HelloWorldApplication类

页面先请求index.html

浏览器输入:http://localhost:8888/HelloWorld/

 点击按钮

 

当然这里的json比较简单,所以我直接返回; 实际项目Json格式复杂,要借助于一些json框架,比如Json-lib,gson等等;

 

转载于:https://www.cnblogs.com/jedjia/p/controller.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBootController是一个Java类,用于处理HTTP请求并返回响应。它是一个典型的MVC架构中的控制器层,用于接收来自客户端的请求,调用服务层处理业务逻辑,并返回响应结果给客户端。 SpringBootController可以使用注解的方式定义,常用的注解包括: - @RestController:用于标记这个类是一个Controller,其所有方法都会返回JSON格式的数据。 - @RequestMapping:用于定义请求的URL地址,可以用于类级别和方法级别。 - @GetMapping、@PostMapping、@PutMapping、@DeleteMapping:用于定义HTTP请求的方法,分别对应HTTP的GET、POST、PUT和DELETE方法。 在Controller中,还可以使用一些注解来解析请求参数,如@PathVariable、@RequestParam、@RequestBody等。 示例代码: @RestController @RequestMapping("/api") public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List<User> getAllUsers() { return userService.getAllUsers(); } @GetMapping("/users/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } @PostMapping("/users") public User createUser(@RequestBody User user) { return userService.createUser(user); } @PutMapping("/users/{id}") public User updateUser(@PathVariable Long id, @RequestBody User user) { return userService.updateUser(id, user); } @DeleteMapping("/users/{id}") public void deleteUser(@PathVariable Long id) { userService.deleteUser(id); } } 以上代码定义了一个UserController类,用来处理与用户相关的HTTP请求。其中,@RestController标记这个类是一个Controller,@RequestMapping定义了请求的URL前缀,@GetMapping、@PostMapping、@PutMapping和@DeleteMapping分别定义了HTTP请求的方法和URL地址。getUserById方法使用了@PathVariable来解析请求中的参数,createUser和updateUser方法使用了@RequestBody来接收JSON格式的请求体。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值