- @Controller
作用:用于标记这个类是控制类,返回页面的时候使用。如果要返回Json,则需要在接口使用@ResponseBody才可以。
- @Service
作用:用于标记Service层
- @RestController
作用:用于标记这个类是控制器,返回Json数据的时候使用,如果使用这个注解,则接口返回数据会被序列化为Json.
所以:@RestController = @Controller + @ResponseBody
- @RequestMapping
作用:路由映射,用于类上做一级路径;用于某个方法做子路径。
例如:下面的代码的访问路径就为:http://localhost:8080/api/v1/public/user/login
package com.gd.dwn.xddemoproject.controller;
import com.gd.dwn.xddemoproject.domain.User;
import com.gd.dwn.xddemoproject.service.UserService;
import com.gd.dwn.xddemoproject.utils.JsonData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/v1/public/user")
public class UserController {
@Autowired
UserService userService;
@RequestMapping("login")
public JsonData login(@RequestBody User user){
System.out.println("user = " + user.toString());
String token = userService.login(user.getUsername(), user.getPwd());
return token != null?JsonData.buildSuccess(token):JsonData.buildError("账号或密码出错");
}
}
- @SpringBootApplication
作用:用于标记是SpringBoot应用,里面包含多个子注解,即
@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
(静态文件放在public和static中,可以被访问到)