2017-05-18 5 views
0

Ich habe auch ein ähnliches Problem wie M.Shute, aber anders, ich habe eine vollständige Kontrolle über meine Server-End-Codes. Wenn ich die von Swagger Editor bereitgestellte Curl-Anforderung kopiere und sie in CMD ausführe, wird der erwartete Wert zurückgegeben.Swagger Editor zeigt "Fehler beim Abrufen" Fehler

-X POST "http://localhost:3000/users/register" -H "accept: application/xml" -H "content-type: application/json" -d "{ \"username\": \"Tester7\", \"password\": \"Tester7\"}" Successfully registered user!

Ich habe keine securityDefinitions in meiner API. Und ich definiere definitiv den Antwortstatus in meinen Expresscodes.

User.register(user, password, function(error, account) { 
    if (error) { 
      res.status(400).send(error); 
     } 
     else { 
      res.status(200).send('Successfully registered user!'); 
     } 
}); 

jedes Mal, wenn ich die Prahlerei Test ausführen, ist die Konsole Wert

OPTIONS /users/register 200 4.040 ms - 4

Warum die Prahlerei die Option Methode verwenden und wie kann ich es herausfinden?

Antwort

0

Es scheint, dass es einige Probleme mit der Cross-origin resource sharing gibt.

Ich legte den Header der Antwort, um es herauszufinden.

app.use((req, res, next) => { 
    res.setHeader('Access-Control-Allow-Origin', 'http://petstore.swagger.io'); 
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, PUT, PATCH, OPTIONS'); 
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type, api_key, Authorization'); 
    next(); 
}); 
Verwandte Themen