2016-11-07 3 views
0

ich einen Frühling-Controller haben,Gibt es eine Möglichkeit zu wissen, welche vollständige URL der Spring Controller zuordnen wird?

@Controller 
@RequestMapping(value = "/employee") 
public class EmployeeController { 

@Autowired 
private EmployeeService employeeService; 

/** 
* returns all the employees in the datastore. 
* 
* @return list of all employees. 
*/ 
@RequestMapping(method = RequestMethod.GET) 
public @ResponseBody String getAllEmployees() { 
    return convertObjectListToJSONArray(this.employeeService.listEmployees()); 
} 

/** 
* adds an employee in the data-store. 
* 
* @param employee 
*   employee to add in the data-store. 
* @return request status. 
*/ 
@ResponseStatus(value = HttpStatus.CREATED) 
@RequestMapping(method = RequestMethod.POST, consumes = "application/json", produces = "application/json") 
public ResponseEntity<?> addEmployee(UriComponentsBuilder uriCBuilder, @RequestBody Employee employee) { 
    Employee e = this.employeeService.getEmployeeById(employee.getId()); 
    if(null != e) { 
     throw new EmployeeConflictException(); 
    } 
    this.employeeService.addEmployee(employee); 
    UriComponents uriComponents = uriCBuilder.path("/cmpe281Pratik021/rest/employee/{id}") 
      .buildAndExpand(employee.getId()); 
    HttpHeaders headers = new HttpHeaders(); 
    headers.setLocation(uriComponents.toUri()); 
    return new ResponseEntity<Void>(headers, HttpStatus.CREATED); 
} 

Aber, wenn ich http://localhost:8080/employee getroffen gibt es einen Fehler 404. Gibt es einen Weg, um vollständige URL zu drucken, die in diesem Frühjahr Controller zugeordnet werden soll?

+0

Es scheint, Ihr Kontext ist in der URL fehlt Sie schlagen. http: // localhost: 8080//Mitarbeiter – Khuzi

+1

Wie haben Sie diese Anwendung bereitgestellt? War es eine WAR-Datei? oder Frühlingsstiefel? Bei einem .war benötigen Sie auch den Kontextpfad (Name von .war). "http: // localhost: 8080//Mitarbeiter" – shazin

Antwort

0

Gibt es eine Möglichkeit, auf die volle URL zu drucken, die dieser Spring Controller zugeordnet wird?

Sie können die folgenden Protokollierungs Eigenschaft aktivieren:

log4j.category.org.springframework.web=INFO 

Nun, wenn Sie Ihre Tomcat (oder einen beliebigen Server) neu starten, dann während der Inbetriebnahme, wenn der Frühling Behälter die DispactherServlet und HandlerMapping initialisiert, es Druckt alle identifizierten Zuordnungen (aus verschiedenen Controller Klassen) zu den Protokollen, so dass Sie tatsächlich überprüfen können, welche Zuordnungen von den Klassen Controller bedient werden.

P. S .: Diese Protokollierung nur zur Liste ist/log alle Controller-Zuordnungen, die zum Debuggen hilfreich sein/lösen die Probleme

+0

Ich werde das versuchen. Hoffentlich wird es das Problem lösen. – pratiksanglikar

+0

Es wird Ihnen helfen, alle Zuordnungen aufzulisten, die hilfreich sein werden, um das Problem – developer

+0

zu lösen, wie diese Eigenschaft aktiviert wird? – pratiksanglikar

Verwandte Themen