2017-11-24 3 views
0

Ich bin ein wenig neu in Java Spring. Was ich möchte, ist wie folgt: Einige 3rd Party fragt eine "Return URL" von mir und ich setze es wie folgt: https://localhost:9002/my-account/order-history Dann senden sie mir eine POST-Anfrage und ich sollte damit in meinem Controller umgehen . Die Anfrage enthält sowohl URL-Parameter als auch Formulardaten. Der Antrag istEmpfangen einer POST-Anfrage über den Frühling von einer anderen Site

Request URL:https://localhost:9002/my-account/order-history?responseCode=0000&token=E0ECFC1214B19E5D11B9B587920FC5F164C5CB17E7DC67F083E0EC6676F79467DFBDF4B6CCF3C39BF47F0232D1AA42F1FA112F29B0157DDF98EE3997F781CCB1FEB070A44E530691BA36674BEA4CF56A4A43F2B9746D9C3591CF288D745A6694 
Request Method:POST 
Status Code:403 Bad or missing CSRF token 
Remote Address:127.0.0.1:9002 
Referrer Policy:no-referrer-when-downgrade 

Ein Teil der Formulardaten ist:

ich die ganzen Formulardaten und andere Info-Anfrage als attachment hinzugefügt.

Der Controller ich verzweifelt zu verwenden ist versucht, ist wie folgt:

@Controller 
@RequestMapping(value = "/my-account") 
public class MaviAccountPageController extends MaviAbstractController 
{ 
    @RequestMapping(value = "/order-history", method = RequestMethod.POST) 
    public ModelAndView process(@RequestBody final String req) 
    { 
     //consumes = "text/plain" 
     System.out.println(req); 
     System.out.println(req); 
     return new ModelAndView("deneme"); 
    } 
    .... 
} 

Und ich halte 403 bekommen - Bad oder fehlenden CSRF-Token Fehler. Wie soll ich meinen Controller implementieren? Ich habe unten Links überprüft und sie nicht geklappt leider: How to retrieve FORM/POST Parameters in Spring Controller? How to explicitly obtain post data in Spring MVC?

ich versucht, aber scheiterte Ausgabe auf Postbote zu regenerieren. Kann mir bitte jemand empfehlen, wie es weitergehen soll?

+0

Schauen Sie sich diese https://stackoverflow.com/questions/22555110/csrf-cross-site-request-forgery-protection-in mit Anmerkungen versehen -spring-mvc https://spring.io/blog/2013/08/21/spring-security-3-2-0-rc1-highlights-csrf-protection/ – pvpkiran

+0

Die Links, die Sie überprüft haben, sind nicht verwandt Fehler, den du hast. Sie sollten suchen, was dieser Fehler bedeutet, und nicht, wie Parameter von der Anfrage erhalten werden. –

+0

Vielen Dank, aber die dritte Partei weigert sich, die Zeile "" in ihrer Form hinzuzufügen. Ich denke, ich werde die folgende Antwort für @CrossOrigin Annotation versuchen. –

Antwort

0

Sie können Ihre Methode mit @CrossOrigin

@CrossOrigin 
@RequestMapping(value = "/order-history", method = RequestMethod.POST) 
public ModelAndView process(@RequestBody final String req) 
{ 
    //consumes = "text/plain" 
    System.out.println(req); 
    System.out.println(req); 
    return new ModelAndView("deneme"); 
} 

https://spring.io/guides/gs/rest-service-cors/

+0

Danke für den tollen Artikel. Hybris erlaubt mir jedoch nicht, meinen externen Abhängigkeiten den Code hinzuzufügen (pom.xml von hybris). org.springframework.boot Feder-boot-Starter-parent 1.5.8.RELEASE

Verwandte Themen