[英]New REST request in JHipster returning “Not Found - 404”
大家好,
我在基於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自動加載某些安全性或身份驗證約束,是否有可能服務被阻止?
我已經使用org.sprinframework.stereotype.Controller的@Controller注釋(而不是@RestController)構建了新的Controller類。原始的控制器注釋由Spring Roo搭建起來(在使用它們的現有數據庫中生成服務方面非常有效) DBRE插件,我可能會添加)。
切換到@RestController之后,我遇到了我最初希望作為JHipster實現的第二個障礙: 由於身份驗證約束,服務被阻止 。
com.[projectname].config
並更新SecurityConfiguration.java
文件(專門暴露了我想要的API)可以解決此問題。 然后,我必須確保Hibernate能夠獲取所請求對象的完整集合(我有很多復雜的關系實體由Roo構建)... 無法懶惰地初始化角色集合 ...
@OneToMany(fetch = FetchType.EAGER, mappedBy = "courseId", cascade = CascadeType.REMOVE)
瞧! 可運行的,基於JSON的可安全安全API,是從現有的Postgresql數據庫進行完全反向工程后,加載到預先安裝的Angular前端中的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.