Привет,Java Spring 4 (Аннотированный) Rest Контроллер не попал REST инструмент клиента в Firefox
У меня есть проблема, которая очень запутанным для меня, потому что отображение должно работать, и это выглядит, как это делает карту когда Spring Boot запускается в режиме отладки. Я не знаю, где еще я могу проверить очевидное решение этой проблемы.
Вот это application.properties:
server.port=8082
server.contextPath =/
Вот класс SpringBootInitializer, который добавляет еще "/ API" для> регистрации сервлета:
public class App extends SpringBootServletInitializer {
@Bean
public DispatcherServlet dispatcherServlet() {
return new DispatcherServlet();
}
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
final ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet(), "/api/*");
final Map<String, String> params = new HashMap<String, String>();
params.put("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
params.put("contextConfigLocation", "org.spring.sec2.spring");
params.put("dispatchOptionsRequest", "true");
registration.setInitParameters(params);
registration.setLoadOnStartup(1);
return registration;
}
//
@Override
protected SpringApplicationBuilder configure(final SpringApplicationBuilder application) {
return application.initializers(new MyApplicationContextInitializer()).sources(App.class);
}
public static void main(final String... args) {
new SpringApplicationBuilder(App.class).initializers(new MyApplicationContextInitializer()).run(args);
}
}
Вот Контроллер, который добавляет еще «пользователей» к отображению. Метод> который я поставил точку отладки является FindAll и не требует отображения futher к> Добраться до него (то есть корень/пользователей /:
@Controller
@RequestMapping(value = users)
public class UserController extends AbstractController<User> {
@Autowired
private IUserService userService;
public UserController() {
super(User.class);
}
// API
// find
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public void getItsWorking() {
System.out.println("It's Working!!!");
}
}
Вот сущность Пользователь:
@Entity
public class User implements IEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="user_id")
private Long user_id;
@Column(name = "username", unique = true, nullable = false)
private String name;
@Column(unique = true, nullable = false)
private String email;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private Boolean locked;
public User() {
super();
}
public User(final String nameToSet, final String passwordToSet, /*final
Set<Role> rolesToSet,*/ final Boolean lockedToSet) {
super();
name = nameToSet;
password = passwordToSet;
locked = lockedToSet;
}
// API
public Long getId() {
return user_id;
}
public void setId(final Long idToSet) {
user_id = idToSet;
}
public String getName() {
return name;
}
public void setName(final String nameToSet) {
name = nameToSet;
}
public String getEmail() {
return email;
}
public void setEmail(final String emailToSet) {
email = emailToSet;
}
public String getPassword() {
return password;
}
public void setPassword(final String passwordToSet) {
password = passwordToSet;
}
public Boolean getLocked() {
return locked;
}
public void setLocked(final Boolean lockedToSet) {
locked = lockedToSet;
}
}
Вот выход на моем Spring загрузки отладки при запуске:
Mapped "{[/users],methods=[GET]}" onto public
java.util.List<org.um.persistence.model.User>
org.um.web.controller.UserController.findAll(javax.servlet.http.HttpServletRequest)
Таким образом, похоже, что это отображение правильно, но когда я ударил его, используя Rest> инструмент Client приплюсовать в Firefox, я получаю следующее при выполнении операции «GET» на> следующий адрес: http://localhost:8082/api/users с использованием Content-Type: application/json в моем заголовке.
Что происходит?Очень смущен.
Попробуйте изменить '@RequestMapping (значение = пользователи)' на '@RequestMapping (value ="/api/users ")'. – varun