前段app推荐列表获取不到商户信息

来源:4-6 商户模块_商户接口开发

Z266

2017-06-28

前段app推荐列表获取不到商户信息,我单元测试过,可以成功返回参数

还有通过http://127.0.0.1:8081/upload/ad/imag1.png可以获取到图片吗?,广告列表获取不到图片

下面是ApiController

// 首页 —— 推荐列表(猜你喜欢)
@RequestMapping(value = "/homelist/{city}/{page.currentPage}", method = RequestMethod.GET)
public BusinessListDto homeList(BusinessDto businessDto){
    businessDto.getPage().setPageNumber(businessHomeNumber);
    return businessService.searchByPageForApi(businessDto);
}
@RequestMapping(value = "/submitComment", method = RequestMethod.POST)
public Map<String,Object> submitComment(){
    Map<String,Object> result = new HashMap<String,Object>();
    result.put("erron",0);
    result.put("img","ok");
    return result;
}

// 详情页 - 商户信息
@RequestMapping(value = "/detail/info/{id}",method = RequestMethod.GET)
public BusinessDto businessDetail(@PathVariable("id") Long id){
   return businessService.getById(id);
}
//三个参数查询
@RequestMapping(value = "/search/{page.currentPage}/{city}/{category}/{keyword}",method = RequestMethod.GET)
public BusinessListDto businessSearchThree(BusinessDto businessDto){
    businessDto.getPage().setPageNumber(businessSearchNumber);
    return businessService.searchByPageForApi(businessDto);
}
//两个参数查询
@RequestMapping(value = "/search/{page.currentPage}/{city}/{category}",method = RequestMethod.GET)
public BusinessListDto businessSearchTwo(BusinessDto businessDto){
    businessDto.getPage().setPageNumber(businessSearchNumber);
    return businessService.searchByPageForApi(businessDto);
}


写回答

9回答

源生活

2017-06-28

1、推荐列表:学会debug,在推荐列表的接口打断点,一步一步跟下去。有几个可能:虽然单元测试没问题,但从前端请求,是带查询参数的,比如:城市;另一个可能,接口返回了数据,前端没有正确展示,是不是前端的server.js里地址没有修改。

2、图片:http://127.0.0.1:8081/upload/ad/imag1.png,确定一个事:

你启动的、端口号为8081的那个Tomcat的webapps下,有/upload/ad这两层文件夹,文件夹下面有imag1.png这张图片。

0
2
Z266
老师,刚才debug了一下,前台传过来的city是乱码的,如何修改?
2017-06-28
共2条回复

源生活

2017-06-28

没事,能解决问题才好,主要我这边用IDEA的时候,是用jetty启的,你这种情况我暂时没时间去试,但可以肯定的是,用IDEA启动tomcat和手动单独启动tomcat是不一样的,不是一个效果,这是问题的根本。

你先看看:

http://201606052202.iteye.com/blog/2338730


是不是和你的情况一样,看看能不能解决。晚安!

0
1
Z266
好的,晚安,老师
2017-06-28
共1条回复

源生活

2017-06-28

刚刚那个格式不规整,重来:

如果你没加自定义拦截器,不是被拦截了。

那你在IDEA里启动后,【comment】工程不是出现在了tomcat下吗?那这个时候【comment】和【upload】在同一级目录下吗?

如果不是,那已经有问题了。

如果是在同一级,继续:

你复制一张图片,到【comment】工程下,就放根目录下,怎么访问你应该知道吧?

http://127.0.0.1:8081/comment/图片名

如果能访问到,那就先用这种方式继续学习后面的内容,我需要想想在这种情况下还有什么可能会造成

http://127.0.0.1:8081/comment/ 能访问

http://127.0.0.1:8081/upload/ 不能访问

如果http://127.0.0.1:8081/comment/图片名,也不能访问,那IDEA所表现出来的,和你想象的可能不一样。 试试吧,然后告诉我结果。

0
4
Z266
回复
源生活
今天实在感谢老师的耐心解答!!!!!一万个赞!!!老师你早点休息。
2017-06-28
共4条回复

Z266

提问者

2017-06-28

老师,首先非常感谢你的耐心解答这么长时间,我好像记得视频中讲过配置URIEncoding="UTF-8"视频中提到过,我当时没改给放过去了。非常谢谢


再说tomcat,我查了一下有三种配置方式,短时间内我熟悉不了。

但是idea中没有自带的tomcat,而且我电脑中只有一个tomcat。再者当我将apache-tomcat-7.0.73t中comment删除,再在idea重新启动项目是,又会在apache-tomcat-7.0.73下自动部署一个comment项目,所以我判断就是部署在apache-tomcat-7.0.73下。

ps:我记得昨天还可以访问到,今天就不可以了,这个和图片大小有关系吗?是不是其他方面原因?

0
8
源生活
回复
Z266
可以访问到的时候,这个时候【comment】和【upload】在同一级目录下吗?然后upload下的就不能访问?
2017-06-28
共8条回复

源生活

2017-06-28

一般工程部署在tomcat下有几种方式,最常用的是直接把工程放在webapps下,或者在server.xml里配置工程访问路径与存放路径。你如果能在【apache-tomcat-7.0.73】下找到部署了【comment】的证据,那按道理说,upload只是一个普通的资源工程,不太可能【comment】能访问,而【upload】下的静态资源不能访问。

所以,我有理由怀疑【comment】这个工程现在不在【apache-tomcat-7.0.73】下。

或者说,你知道你的【comment】现在部署在哪吗(这是关键,要找到这个web容器)?怎么证明?

0
0

Z266

提问者

2017-06-28

idea的tomcat配置如下图//szimg.mukewang.com/5953bf5e0001e79b07310230.jpg

0
0

源生活

2017-06-28

乱码: 在配置修改Tomcat端口号的地方,加上【URIEncoding="UTF-8"】这个属性

访问图片:看你截的图,访问路径和存放路径确实是正确的,需要确定idea里启动的是不是这个Tomcat。

0
4
源生活
回复
Z266
也就是说,如果【apache-tomcat-7.0.73】没问题,comment与upload也都是在这个tomcat下,不可能comment能访问,upload不能访问。
2017-06-28
共4条回复

Z266

提问者

2017-06-28

这个是给两个参数查询打断点之后,获取city的值,乱码了//szimg.mukewang.com/5953be53000184b009610332.jpg

0
0

Z266

提问者

2017-06-28

我图片路径正确,就是访问不到,如下图

//szimg.mukewang.com/5953b9690001a03604360259.jpg

//szimg.mukewang.com/5953b96900017c6710330121.jpg


0
6
Z266
回复
源生活
我的是idea,我去看一下
2017-06-28
共6条回复

IT段子手详解MyBatis遇到Spring 秒学Java SSM开发大众点评

【毕设】SSM全面梳理,前后端分离,zTree 和复杂SQL打造权限系统,解惑MyBatis和RESTful

1001 学习 · 485 问题

查看课程