JHipster中的新REST请求返回"未找到 - 404"

时间:2014-03-19 17:25:24

标签: eclipse spring hibernate jhipster

错误说明

嘿所有,

我在基于JHipster的项目中从手动添加的控制器获取响应时遇到问题。我支持原始项目,然后手工编写自己的服务和控制器。

当我执行调用时,我从SoapUI获取的错误结果(我用于初始验证)位于以下网址:http://imgur.com/04FpmEZ,Havk1EL#0

如果我查看 Eclipse控制台错误,我会看到以下内容:http://imgur.com/04FpmEZ,Havk1EL#1

控制器

/**
 * GET  /courses/json -> get all the courses.
 */
@RequestMapping(value = "/json",
        method = RequestMethod.GET,
        produces = "application/json")
@Timed
public List<Course> getAll() {
    log.debug("REST request to get all Courses");
    return courseService.findAllCourses();
}

服务

package com.testapp.myapp.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.testapp.myapp.domain.Course;
import com.testapp.myapp.repository.CourseRepository;

@Service
@Transactional
public class CourseServiceImpl implements CourseService {

    @Autowired
    CourseRepository courseRepository;

    public long countAllCourses() {
        return courseRepository.count();
    }

    public void deleteCourse(Course course) {
        courseRepository.delete(course);
    }

    public Course findCourse(Integer id) {
        return courseRepository.findOne(id);
    }

    public List<Course> findAllCourses() {
        return courseRepository.findAll();
    }

    public List<Course> findCourseEntries(int firstResult, int maxResults) {
        return courseRepository.findAll(new org.springframework.data.domain.PageRequest(firstResult / maxResults, maxResults)).getContent();
    }

    public void saveCourse(Course course) {
        courseRepository.save(course);
    }

    public Course updateCourse(Course course) {
        return courseRepository.save(course);
    }
}

令人困惑的是,我直接对我的数据库运行了hibernate提供的查询,并且它返回记录集就好了。 由于JHipster自动加载某些安全性或身份验证约束,是否可能阻止服务?

1 个答案:

答案 0 :(得分:3)

存在一些问题,都与从Roo迁移到JHipster相关:

  1. 我用org.sprinframework.stereotype.Controller的 @Controller 注释构建了我的新Controller类,而不是 @RestController ...原始控制器注释是由Spring Roo搭建的(我可能会使用他们的DBRE插件高效地从现有数据库生成服务)。

  2. 切换到@RestController之后,我遇到了第二个障碍,我原本期望将其作为JHipster实现:由于身份验证限制,服务被阻止

    • 通过进入com.[projectname].config并更新SecurityConfiguration.java文件来修复此问题,特别公开了我想要的API。
  3. 然后,我必须确保Hibernate获取所请求对象的完整集合(我有许多由Roo构建的复杂关系实体)... 无法懒惰地初始化集合角色 ...

  4. 瞧!功能强大,安全可靠的基于JSON的API,完全从现有的Postgresql DB进行逆向工程,加载到预先计算的Angular前端。