2012-02-20 6 views
6

मैं एक वेब अनुप्रयोग विकसित कर रहा हूँ मैं कहाँ किजर्सी का उपयोग करते हुए प्रपत्र डेटा को पढ़ने के लिए

<form name="form" action="create-user" method="post"> 
    <input name="accept" type="checkbox"><span>{{acceptLegalTerms}}</span><br> 
    <input type="submit" value="{{Continue}}" class="primary fright"/> 
</form> 

सर्वर साइड पर कुछ ऐसे स्वरूप में, हम जर्सी (GAE पर) का उपयोग कर रहे हैं। और यहाँ है कि मैं क्या पोस्ट मूल्यों

@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("create-user") 
public Response createUser(@FormDataParam("accept") boolean acceptForm) { 
    return Response.ok().entity(acceptForm).build(); 
} 

को पढ़ने के लिए उपयोग करने के लिए कोशिश कर रहा हूँ लेकिन यह काम नहीं करता है ... यह मुझे देता है ...

HTTP ERROR 415 

Problem accessing /login/create-user. Reason: 

Unsupported Media Type 

कोई भी विचार? मैं क्या गलत कर रहा हूं?

धन्यवाद!

उत्तर

13

इस प्रयास करें:

@Path("test") 
@POST 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public String testForm(@FormParam("accept") String accept) { 
    return accept; 
} 

मल्टीपार्ट कुछ अलग, देखने जर्सी नमूना बहुखण्डीय-webapp या http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html देखते हैं। आपका वेब फॉर्म इसका उत्पादन नहीं कर रहा है, इसलिए जर्सी सही ढंग से 415 लौटाता है - असमर्थित मीडिया प्रकार, क्योंकि आपके पास कोई संसाधन नहीं है जो "एप्लिकेशन/एक्स-www-form-urlencoded" मीडिया प्रकार को संभाला जा रहा है।

+2

आपको [जर्सी-मल्टीपार्ट] (http://search.maven.org/#search|ga|1|a%3A%22jersey-multipart%22) की आवश्यकता होगी। –

+0

@DrewStephens क्या यह एक ऐसा पथ होना संभव है जो urlencode या multipart POST अनुरोध दोनों की सेवा करता हो? http://stackoverflow.com/questions/19104413/jersey-switch-on-content-type- गतिशील रूप से –

+1

क्या 10 फ़ील्ड के साथ फ़ॉर्म जमा करने का कोई तरीका है, लेकिन 10 '@ फॉर्मपार्म' लाइनों को जोड़ने के बिना –

1

बस इसे सरल रखने के लिए: यदि यह एकमात्र अनुरोध हैडलर विशिष्ट यूआरएल (उस मामले में "परीक्षण") में मैप किया गया है और विशिष्ट HTTP विधि (POST) के साथ मैप किया गया है, तो आप @ कंस्यूम्स के उपयोग से बच सकते हैं!

संबंधित मुद्दे