博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@RestController 与 @RequestMapping
阅读量:6497 次
发布时间:2019-06-24

本文共 1274 字,大约阅读时间需要 4 分钟。

hot3.png

今天又踩到一个烂坑,记录一下。

今天在写一个服务时,明明 request 的 url 没有问题,可就是服务掉不通。下面我来还原下我的坑:

代码如下:

package com.simonton.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController("/demo")public class DemoController {	@RequestMapping("/hello")	public String hello() {		System.out.println("hello...");		return "hello String... ";	}}

服务启动后,然后访问 /demo/hello 会显示404失败

 

 

 

 

 

 

分析:

    明眼人一看,就知道是在controller类配置上出问题了, @restController("/demo") 配置的意思是当前的controller,spring会将其加载成一个具有@ResponseBody 能力的 controller,且该controller的 component 名为 “/demo”。

正确的配置应该是@RestContrller 和 @RequestMapping("/demo") 一起使用。

正确的代码如下:

package com.simonton.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/demo")public class DemoController {	@RequestMapping("/hello")	public String hello() {		System.out.println("hello...");		return "hello String... ";	}}

  

总结:

    其实对于@RestController 的滥用以前就遇到过,这个问题再次卡住长达半个小时,事实证明了,写代码不用脑子是很恐怖的。

提问:

    对于 controller 层 @RestController 和 @RequestMapping 组合使用的概率极高。那么spring是否可以考虑组合这俩个annotation,出一个新的复合annotation,使之同时具备@Controller 和@RequestMapping的能力? 

 

转载于:https://my.oschina.net/simonton/blog/1648792

你可能感兴趣的文章
Entity Framework Tutorial Basics(13):Database First
查看>>
mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
查看>>
静态属性和静态方法2 - C++快速入门22
查看>>
用Ajax请求服务器的图片,并显示在浏览器中(转)
查看>>
带有用户名密码验证的远程文件下载
查看>>
【cocos2d-js官方文档】九、cc.loader
查看>>
123
查看>>
apache开启虚拟主机 并进行配置
查看>>
三大特性
查看>>
nexus 4 下 DualBootInstallation 安装 ubuntu touch
查看>>
python-docx操作
查看>>
iOS开发之圆角指定
查看>>
2016.01.04 论文改重
查看>>
js数组删除数组元素!
查看>>
Silverlight 预定义颜色速查表
查看>>
上下或左右无缝滚动
查看>>
Android常用URI收藏
查看>>
jenkins添加git源码目录时报Error performing command错误
查看>>
git pull出现There is no tracking information for the current branch
查看>>
MathType在手,公式不求人!
查看>>