spring mvc的几种使用方式1

1将请求映射到方法上

//get方式的rest风格请求,路径带有参数
@RequestMapping("/accounts/{username}")
//使用正则表达式
@RequestMapping("/accounts/{username:.*}"
//根据foo参数的有无匹配请求
@RequestMapping(parameters="foo")
@RequestMapping(parameters="!foo")
//根据参数的值匹配请求
@RequestMapping(parameters="foo=123")
//通过判断有无头信息匹配请求
@RequestMapping(headers="Foo-Header")
@RequestMapping(headers="!Foo-Header")

//根据头信息的值判断
@RequestMapping(headers="content-type=text/*")

2处理请求数据

//获取查询字符串参数,cookie,httpheader数据
@RequestMapping(method=GET)
public void foo(@RequestParam("q") String q, @CookieValue("c") String c, @RequestHeader("h") String h) {

}
//如果变量名和参数名一样,可以省略
public void foo(@RequestParam String q, @CookieValue c, @RequestHeader h) {

}
public void foo(String q,String q2) {

}

post方法获取参数
@RequestMapping(method=POST)
public void foo(@RequestParam String name, @RequestParam creditCardNumber, @RequestParam expirationDate) {

}

//使用实体类匹配参数,name与属性名要一致
@RequestMapping(method=POST)
public void foo(CreditCard creditCard) {
    // POST /creditcard/1
    //      name=Bond
    //      creditCardNumber=1234123412341234
    //      expiration=12-12-2012
}

//如果是Json字符串,并且和实体类对应key和属性名一样
@RequestMapping(method=POST)
public void createAccount(@RequestBody Account account) {
    // Spring MVC
}

3响应请求

@RequestMapping(value="/{username}", method=GET)
@ResponseBody
public  Account getAccount(@PathVariable String username) {
    return accountRepository.findAccountByUsername(username);
}

4异常处理

@Controller
@RequestMapping("/accounts")
public class AccountController {

    @ResponseStatus(NOT_FOUND)
    @ExceptionHandler({NoResultException.class})
    public void handle() {
        // ...
    }
}

如果在handle中抛出了异常NoResultException,那么就会捕获到并且处理然后返回一个404错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫二哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值