Spring简单的REST例子

  • 控制器处理 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

原文地址:https://www.cnblogs.com/happyflyingpig/p/8022822.html