나는이 노선과 각 응용 프로그램이 있습니다 자바 백엔드에서 angularjs 매개 변수를 얻는 방법은 무엇입니까?
$routeProvider
// Home screen
.when('/', {
title : 'APP.NAME',
bodyClassName : 'home',
templateUrl : 'app/custom/templates/customTemplate.html',
controller : 'customTemplateController',
resolve : { unauthorizeRequest: unauthorizeRequest }
})
.when('/connect/:connectionToken', {
bodyClassName : 'client',
templateUrl : 'app/client/templates/client.html',
controller : 'clientController',
resolve : { updateToken: updateToken}
})
.otherwise({
resolve : { unauthorizeRequest: unauthorizeRequest }
});
및 자바 측
:@POST
public APIAuthenticationResult createToken(
@FormParam("connectionToken") String token,
@Context HttpServletRequest consumedRequest,
MultivaluedMap<String, String> parameters)
HttpServletRequest request = new APIRequest(consumedRequest, parameters);
String token = request.getParameter("connectionToken");
문제는 그 나는 같은 URL을 사용하는 경우 :
http://localhost:8090/connect/{connectionToken here}
I 자바 측에서 항상 null을 얻는다. 내가 같은 URL을 사용하는 경우 :
올바른 경로를 공격하지 않는 각도http://localhost:8090/connect/?connectionToken={connectionToken here}
, 그것은 otherwise
경로로 이동하지만, 자바 측에서 나는 request.getParameter
를 통해 토큰을 얻을 수 있습니다.
어떻게 처리 할 수 있습니까? 당신이 스프링 사용하는 경우,
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/connect/{connectionToken}")
public Response doStuff(@PathParam("connectionToken") String token){
System.out.println(token);
//stuff..
}
또는 :
확실하지 멀리 아래로 당신의 솔루션을하지만 당신이 사용할 수를 HTTP 헤더 이런 종류의 정보 (연결 토큰)를 전달 하시겠습니까? 어쨌든 그것은 URL에 속한 것으로 보이지 않습니다. – fasfsfgs