- 控制器处理 HTTP 的4个主要方法 GET,POST,PUT,DELETE
- 使用@PathVariable注解获取URL中的参数
import javax.inject.Inject;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.habuma.spitter.domain.Spittle;
import com.habuma.spitter.service.SpitterService; @Controller
@RequestMapping("/spittles") //<co id="co_spittlesRequestMapping"/>
public class SpittleController {
private SpitterService spitterService; @Inject
public SpittleController(SpitterService spitterService) {
this.spitterService = spitterService;
} @RequestMapping(value="/{id}", method=RequestMethod.GET)
// @ResponseStatus(HttpStatus.CREATED) HTTP返回状态码
public String getSpittle(@PathVariable("id") long id,
Model model) {
model.addAttribute(spitterService.getSpittleById(id));
return "spittles/view";
}
/**
* @ResponseBody 把返回结果自动封装成json
* @RequestBody 把请求到服务器的json自动封装成对象
*/
@RequestMapping(value = "/person/login", method = RequestMethod.POST)
public @ResponseBody
Person login(@RequestBody Person person) {
return person;
}
}
参考:
[1] 《Spring实战》,人民邮电出版社, Craig Walls