调试不进入函数 Spring REST Service @Controller with curl
Debugging does not step into function Spring REST Service @Controller with curl
我有一个 Spring 版本:3.6.3.RELEASE 带有 REST 服务的项目,我想通过 curl 发起请求来调试 @RequestMapping @Controller class。
我在 @RequestMapping
的函数中设置了调试断点
并且我已经在调试模式下启动了项目....
一切都开始正常......
. ____ _ __ _ _
/\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.0.1.RELEASE)
2015-03-08 11:38:00.288 INFO 4252 --- [ main] com.pekam.Application : Starting Application on KABUL with PID 4252 (C:\Users\pk\Documents\workspace-sts-3.6.3.RELEASE\MyRestDataRepository\target\classes started by pk)
2015-03-08 11:38:00.333 INFO 4252 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6b6776cb: startup date [Sun Mar 08 11:38:00 CET 2015]; root of context hierarchy
2015-03-08 11:38:00.682 INFO 4252 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'org.springframework.boot.autoconfigure.AutoConfigurationPackages': replacing [Generic bean: class [org.springframework.boot.autoconfigure.AutoConfigurationPackages$BasePackages]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.boot.autoconfigure.AutoConfigurationPackages$BasePackages]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
2015-03-08 11:38:01.140 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$fc9350d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.162 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'transactionAttributeSource' of type [class org.springframework.transaction.annotation.AnnotationTransactionAttributeSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.172 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'transactionInterceptor' of type [class org.springframework.transaction.interceptor.TransactionInterceptor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.179 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.config.internalTransactionAdvisor' of type [class org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.380 INFO 4252 --- [ main] .t.TomcatEmbeddedServletContainerFactory : Server initialized with port: 8080
2015-03-08 11:38:01.523 INFO 4252 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2015-03-08 11:38:01.523 INFO 4252 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52
2015-03-08 11:38:01.640 INFO 4252 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2015-03-08 11:38:01.640 INFO 4252 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1310 ms
2015-03-08 11:38:02.103 INFO 4252 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2015-03-08 11:38:02.105 INFO 4252 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2015-03-08 11:38:02.353 INFO 4252 --- [ main] o.s.j.d.DriverManagerDataSource : Loaded JDBC driver: org.h2.Driver
2015-03-08 11:38:02.353 INFO 4252 --- [ main] o.s.j.d.DriverManagerDataSource : Loaded JDBC driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
2015-03-08 11:38:02.353 INFO 4252 --- [ main] o.s.j.d.DriverManagerDataSource : Loaded JDBC driver: com.mysql.jdbc.Driver
2015-03-08 11:38:02.493 INFO 4252 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2015-03-08 11:38:02.514 INFO 4252 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2015-03-08 11:38:02.590 INFO 4252 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {4.3.1.Final}
2015-03-08 11:38:02.592 INFO 4252 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2015-03-08 11:38:02.594 INFO 4252 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2015-03-08 11:38:02.795 INFO 4252 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
2015-03-08 11:38:03.064 INFO 4252 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
2015-03-08 11:38:03.181 INFO 4252 --- [ main] o.h.h.i.ast.ASTQueryTranslatorFactory : HHH000397: Using ASTQueryTranslatorFactory
2015-03-08 11:38:03.510 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000228: Running hbm2ddl schema update
2015-03-08 11:38:03.510 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000102: Fetching database metadata
2015-03-08 11:38:03.516 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000396: Updating schema
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000261: Table found: test.tblgps
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000037: Columns: [date, descr, provider, lon, id, deviceid, userid, lat]
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000108: Foreign keys: []
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000126: Indexes: [primary]
2015-03-08 11:38:03.534 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000232: Schema update complete
2015-03-08 11:38:03.941 INFO 4252 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/List/],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<com.pekam.TblGps> com.pekam.TblGpsController.findAll()
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/get],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public com.pekam.TblGps com.pekam.TblGpsController.findById(long)
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/update3/],methods=[POST],params=[],headers=[],consumes=[*/*],produces=[application/json || */*],custom=[]}" onto public com.pekam.TblGps com.pekam.TblGpsController.post1(com.pekam.TblGps)
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/update],methods=[POST],params=[],headers=[],consumes=[*/*],produces=[*/*],custom=[]}" onto public com.pekam.TblGps com.pekam.TblGpsController.post(com.pekam.TblGps)
2015-03-08 11:38:04.065 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/*],methods=[GET || POST || DELETE || PUT || HEAD],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.pekam.TblGpsController.allFallback()
2015-03-08 11:38:04.065 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/update2/],methods=[POST],params=[],headers=[],consumes=[*/*],produces=[*/*],custom=[]}" onto public java.lang.String com.pekam.TblGpsController.post2(java.lang.String)
2015-03-08 11:38:04.093 INFO 4252 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-03-08 11:38:04.094 INFO 4252 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-03-08 11:38:04.161 INFO 4252 --- [ main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in restResponseEntityExceptionHandler
2015-03-08 11:38:04.345 INFO 4252 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2015-03-08 11:38:04.378 INFO 4252 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080/http
2015-03-08 11:38:04.380 INFO 4252 --- [ main] com.pekam.Application : Started Application in 4.383 seconds (JVM running for 4.904)
但是当我使用 curl 执行请求时,调试器没有进入函数。
C:\Users\pk>curl -H "Content-Type:application/json" -d {"date":1425811355985,"de
scr":null,"deviceID":"1","provider":"fused","id":0,"lat":4.0,"userid":1,"lon":4.
0} http://127.0.0.1:8080/TblGps/update
curl 输出是:什么都没有
调试器似乎没有正确连接到进程,但是当我将我的 curl 请求更改为错误的映射条目时,STS 向我显示了控制台调试的错误 windows。
任何想法表示赞赏!!
代码
@Controller
public class TblGpsController {
private static final Logger logger = LoggerFactory.getLogger(TblGpsController.class);
@RequestMapping(value = "*", method = { RequestMethod.GET, RequestMethod.POST ,RequestMethod.DELETE,RequestMethod.PUT,RequestMethod.HEAD })
@ResponseBody
public String allFallback() {
return "Fallback for All Requests";
}
@RequestMapping(value="/TblGps/update", method=RequestMethod.POST,consumes = MediaType.ALL_VALUE,produces= MediaType.ALL_VALUE)
@ResponseBody public TblGps post(@RequestParam("object") TblGps gps){
return Application.DataRepository.save(gps);
}
如果您正在 posting JSON 数据,则需要使用 @RequestParam 注释。如果您想解析请求正文中的数据,在您的情况下是 json 作为 post 发送的数据,则需要使用它的注释。
@ResponseBody public TblGps post(@RequestBody TblGps gps){
return Application.DataRepository.save(gps);
}
我有一个 Spring 版本:3.6.3.RELEASE 带有 REST 服务的项目,我想通过 curl 发起请求来调试 @RequestMapping @Controller class。 我在 @RequestMapping
的函数中设置了调试断点并且我已经在调试模式下启动了项目.... 一切都开始正常......
. ____ _ __ _ _
/\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.0.1.RELEASE)
2015-03-08 11:38:00.288 INFO 4252 --- [ main] com.pekam.Application : Starting Application on KABUL with PID 4252 (C:\Users\pk\Documents\workspace-sts-3.6.3.RELEASE\MyRestDataRepository\target\classes started by pk)
2015-03-08 11:38:00.333 INFO 4252 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6b6776cb: startup date [Sun Mar 08 11:38:00 CET 2015]; root of context hierarchy
2015-03-08 11:38:00.682 INFO 4252 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'org.springframework.boot.autoconfigure.AutoConfigurationPackages': replacing [Generic bean: class [org.springframework.boot.autoconfigure.AutoConfigurationPackages$BasePackages]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.boot.autoconfigure.AutoConfigurationPackages$BasePackages]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
2015-03-08 11:38:01.140 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$fc9350d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.162 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'transactionAttributeSource' of type [class org.springframework.transaction.annotation.AnnotationTransactionAttributeSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.172 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'transactionInterceptor' of type [class org.springframework.transaction.interceptor.TransactionInterceptor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.179 INFO 4252 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.config.internalTransactionAdvisor' of type [class org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2015-03-08 11:38:01.380 INFO 4252 --- [ main] .t.TomcatEmbeddedServletContainerFactory : Server initialized with port: 8080
2015-03-08 11:38:01.523 INFO 4252 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2015-03-08 11:38:01.523 INFO 4252 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52
2015-03-08 11:38:01.640 INFO 4252 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2015-03-08 11:38:01.640 INFO 4252 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1310 ms
2015-03-08 11:38:02.103 INFO 4252 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2015-03-08 11:38:02.105 INFO 4252 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2015-03-08 11:38:02.353 INFO 4252 --- [ main] o.s.j.d.DriverManagerDataSource : Loaded JDBC driver: org.h2.Driver
2015-03-08 11:38:02.353 INFO 4252 --- [ main] o.s.j.d.DriverManagerDataSource : Loaded JDBC driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
2015-03-08 11:38:02.353 INFO 4252 --- [ main] o.s.j.d.DriverManagerDataSource : Loaded JDBC driver: com.mysql.jdbc.Driver
2015-03-08 11:38:02.493 INFO 4252 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2015-03-08 11:38:02.514 INFO 4252 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2015-03-08 11:38:02.590 INFO 4252 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {4.3.1.Final}
2015-03-08 11:38:02.592 INFO 4252 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2015-03-08 11:38:02.594 INFO 4252 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2015-03-08 11:38:02.795 INFO 4252 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
2015-03-08 11:38:03.064 INFO 4252 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
2015-03-08 11:38:03.181 INFO 4252 --- [ main] o.h.h.i.ast.ASTQueryTranslatorFactory : HHH000397: Using ASTQueryTranslatorFactory
2015-03-08 11:38:03.510 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000228: Running hbm2ddl schema update
2015-03-08 11:38:03.510 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000102: Fetching database metadata
2015-03-08 11:38:03.516 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000396: Updating schema
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000261: Table found: test.tblgps
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000037: Columns: [date, descr, provider, lon, id, deviceid, userid, lat]
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000108: Foreign keys: []
2015-03-08 11:38:03.533 INFO 4252 --- [ main] o.hibernate.tool.hbm2ddl.TableMetadata : HHH000126: Indexes: [primary]
2015-03-08 11:38:03.534 INFO 4252 --- [ main] org.hibernate.tool.hbm2ddl.SchemaUpdate : HHH000232: Schema update complete
2015-03-08 11:38:03.941 INFO 4252 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/List/],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.List<com.pekam.TblGps> com.pekam.TblGpsController.findAll()
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/get],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public com.pekam.TblGps com.pekam.TblGpsController.findById(long)
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/update3/],methods=[POST],params=[],headers=[],consumes=[*/*],produces=[application/json || */*],custom=[]}" onto public com.pekam.TblGps com.pekam.TblGpsController.post1(com.pekam.TblGps)
2015-03-08 11:38:04.064 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/update],methods=[POST],params=[],headers=[],consumes=[*/*],produces=[*/*],custom=[]}" onto public com.pekam.TblGps com.pekam.TblGpsController.post(com.pekam.TblGps)
2015-03-08 11:38:04.065 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/*],methods=[GET || POST || DELETE || PUT || HEAD],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.pekam.TblGpsController.allFallback()
2015-03-08 11:38:04.065 INFO 4252 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/TblGps/update2/],methods=[POST],params=[],headers=[],consumes=[*/*],produces=[*/*],custom=[]}" onto public java.lang.String com.pekam.TblGpsController.post2(java.lang.String)
2015-03-08 11:38:04.093 INFO 4252 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-03-08 11:38:04.094 INFO 4252 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-03-08 11:38:04.161 INFO 4252 --- [ main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in restResponseEntityExceptionHandler
2015-03-08 11:38:04.345 INFO 4252 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2015-03-08 11:38:04.378 INFO 4252 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080/http
2015-03-08 11:38:04.380 INFO 4252 --- [ main] com.pekam.Application : Started Application in 4.383 seconds (JVM running for 4.904)
但是当我使用 curl 执行请求时,调试器没有进入函数。
C:\Users\pk>curl -H "Content-Type:application/json" -d {"date":1425811355985,"de
scr":null,"deviceID":"1","provider":"fused","id":0,"lat":4.0,"userid":1,"lon":4.
0} http://127.0.0.1:8080/TblGps/update
curl 输出是:什么都没有
调试器似乎没有正确连接到进程,但是当我将我的 curl 请求更改为错误的映射条目时,STS 向我显示了控制台调试的错误 windows。
任何想法表示赞赏!!
代码
@Controller
public class TblGpsController {
private static final Logger logger = LoggerFactory.getLogger(TblGpsController.class);
@RequestMapping(value = "*", method = { RequestMethod.GET, RequestMethod.POST ,RequestMethod.DELETE,RequestMethod.PUT,RequestMethod.HEAD })
@ResponseBody
public String allFallback() {
return "Fallback for All Requests";
}
@RequestMapping(value="/TblGps/update", method=RequestMethod.POST,consumes = MediaType.ALL_VALUE,produces= MediaType.ALL_VALUE)
@ResponseBody public TblGps post(@RequestParam("object") TblGps gps){
return Application.DataRepository.save(gps);
}
如果您正在 posting JSON 数据,则需要使用 @RequestParam 注释。如果您想解析请求正文中的数据,在您的情况下是 json 作为 post 发送的数据,则需要使用它的注释。
@ResponseBody public TblGps post(@RequestBody TblGps gps){
return Application.DataRepository.save(gps);
}