当我尝试输入本地地址时出错

时间:2018-10-14 09:09:43

标签: java spring spring-mvc

当我尝试从http://localhost:8080/Films/showAll访问网站时,出现404 http错误。因此,我尝试其他地址,并且从http://localhost:8080/showAll看到406 http错误。 控制器类如下所示:

package Films.controller;

import Films.dao.DirectorDAO;
import Films.dao.FilmDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Scanner;

@RestController
// klasa odpowiada za pobieranie oraz przsył danych wykorzystywanych w DAO
public class FilmOperationController {

    ......

    // metoda zwraca listę wszystkich filmów bazie
    @RequestMapping(value = "/showAll", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
    @Transactional(readOnly = true)
    public List<Object[]> showAll() {
        return filmDao.getAllFilms();
    }

    ....
}

这是pom.xml和Java配置文件。 https://github.com/lukasz-chojn/films_database/blob/master/pom.xml https://github.com/lukasz-chojn/films_database/blob/master/src/main/java/Films/component/Config.java

有什么主意吗?

2 个答案:

答案 0 :(得分:0)

@RestController应该由Rest Client(而不是浏览器)使用。 为了测试这种控制器,您可以使用其他工具,例如curlPostman

下面是一个示例,说明如何通过带有终端的curl使用curl http://localhost:8080/showAll

答案 1 :(得分:0)

我花了几个小时来调试您的问题。有很多未使用的依赖项和代码。我重构了代码,并解决了问题。

这是下载链接

https://github.com/deepakjain0812/testrepo

请在您的本地计算机上运行它,如果发现任何问题,请通知我。

一旦您确认不再遇到状态码(如500、401或406)的问题,我将删除此存储库

http://localhost:8080/showAll