2017-07-28 3 views
-1

Ich hatte ein Problem beim Versuch, auf eine grundlegende Ruhe-API zuzugreifen, die ich erstellt habe. Ich bekomme den berühmten 404-Fehler, wenn ich http://localhost:8080/projectName/rest/hello gebe, wie Sie im Code-Ausschnitt unten sehen können, erwarte ich einen "Hallo Welt" -String als Antwort. Ich glaube, ich bin fehlt es einige zusätzliche Konfiguration ..Rest API Anruf mit Spring

Jede Beratung

@Controller 
@JsonIgnoreProperties(ignoreUnknown=true) 
@RequestMapping("/rest") 

public class EntityController { 

    @RequestMapping(value="/hello" , method=RequestMethod.GET , produces=MediaType.TEXT_PLAIN_VALUE) 
    public @ResponseBody String hello() { 
     return "Hello world"; 
    } 
} 
+0

Haben hilft Sie versuchen, ohne produziert? – likeachamp

+0

Geben Sie Ihren Spring MVC-Konfigurations- und Implementierungsdeskriptor an und beschreiben Sie, wie Ihre Anwendung bereitgestellt wird. –

Antwort

1

Sie brauchen nicht die „application name“, versuchen, nur eine GET-Anfrage machen würde geschätzt zu belichten für:

http://localhost:8080/rest/hello

+1

Ich stimme zu, das klingt, als könnte es das Problem sein. Standardmäßig verweist die '@ RequestMapping' auf das Wurzelverzeichnis der URL. – Mustafa

+0

Immer noch der gleiche Fehler: /, Ist es notwendig, eine Art Rest Implementierung wie Apache CXF ... zu verwenden? – ZiOS

+0

@Mustafa Der '/ projectName' würde nicht von Spring MVC gesetzt, sondern vom Servlet-Container. Es ist völlig unabhängig von der Steuerung. Diese Antwort ist bestenfalls eine Vermutung und trifft Annahmen, die nicht klar angegeben sind oder auf etwas in der Frage basieren. –

-1

Sie sollten auf Ihrer Klasse verwenden RestController Ihren Dienst zu ermöglichen, einen json Körper zurückzukehren. verbrauchen den Service benötigen Sie den Namen der Anwendung nach dem Host hinzuzufügen, und dann Name der Weg der Steuerung und Verfahren, wie diese

@RestController 
@JsonIgnoreProperties(ignoreUnknown=true) 
@RequestMapping("/rest") 
public class EntityController { 

    @RequestMapping(value="/hello" , method=RequestMethod.GET ,produces=MediaType.TEXT_PLAIN_VALUE) 
     public @ResponseBody String hello() { 
     return "Hello world"; 
    } 
} 

Danach wird Ihr Weg würde dem REST Operation aussehen

http://localhost:8080/app-name/rest/hello

Hoffe, dass es

+0

Wie erklärt dies eine 404? –