【问题标题】:New REST request in JHipster returning "Not Found - 404"JHipster 中的新 REST 请求返回“未找到 - 404”
【发布时间】:2014-03-19 17:25:24
【问题描述】:

错误说明

大家好,

我无法从基于 JHipster 的项目中手动添加的控制器获得响应。我搭建了原始项目,然后亲手编写了自己的服务和控制器。

当我执行调用时,我从 SoapUI 获得的错误结果(我用于初始验证)位于以下 url: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 自动加载的某些安全或身份验证约束而阻止该服务?

【问题讨论】:

    标签: eclipse spring hibernate jhipster


    【解决方案1】:

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

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

    2. 切换到@RestController 后,我遇到了第二个障碍,这是我最初期望的 JHipster 实现:服务由于身份验证限制而被阻止

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

    瞧!功能强大且安全的基于 JSON 的 API,从现有的 Postgresql 数据库进行完全逆向工程,加载到预制的 Angular 前端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 2020-08-26
      • 1970-01-01
      相关资源
      最近更新 更多