HTTP Post passing 2 parameters and content type key flutter











up vote
0
down vote

favorite












I am struggling with making a http post call returning JSON in flutter. I keep getting a 500 error and I dont know what the issue is. I need to pass a username and password in the header and I think the issue is how im doing it. Here is the code.



Future<User> LoginUser(String username, String password ) async {
final response =
await http.post('http://xx.xxx.xxx.xxx/api/Login',
headers: {"Content-Type": "application/json", 'email' : username , 'password' : password });
if (response.statusCode == 200) {
// If the call to the server was successful, parse the JSON
return User.fromJson(json.decode(response.body));
} else {
// If that call was not successful, throw an error.
throw Exception('Failed to load user');
}

}


It wont get past the 200 check because it is getting a 500. I cant find any examples with passing 2 parameters in the header and the content type so im not sure im doing that correctly.










share|improve this question


















  • 1




    It would be extremely unusual to send credentials as HTTP headers. Additionally, you are setting the request content type to application/json, but then not including any content! Are you sure the credentials aren't meant to go in the post form or body?
    – Richard Heap
    Nov 8 at 0:05










  • that appears to be the issue. The credentials are supposed to be in the body.
    – Sam Cromer
    Nov 8 at 14:13















up vote
0
down vote

favorite












I am struggling with making a http post call returning JSON in flutter. I keep getting a 500 error and I dont know what the issue is. I need to pass a username and password in the header and I think the issue is how im doing it. Here is the code.



Future<User> LoginUser(String username, String password ) async {
final response =
await http.post('http://xx.xxx.xxx.xxx/api/Login',
headers: {"Content-Type": "application/json", 'email' : username , 'password' : password });
if (response.statusCode == 200) {
// If the call to the server was successful, parse the JSON
return User.fromJson(json.decode(response.body));
} else {
// If that call was not successful, throw an error.
throw Exception('Failed to load user');
}

}


It wont get past the 200 check because it is getting a 500. I cant find any examples with passing 2 parameters in the header and the content type so im not sure im doing that correctly.










share|improve this question


















  • 1




    It would be extremely unusual to send credentials as HTTP headers. Additionally, you are setting the request content type to application/json, but then not including any content! Are you sure the credentials aren't meant to go in the post form or body?
    – Richard Heap
    Nov 8 at 0:05










  • that appears to be the issue. The credentials are supposed to be in the body.
    – Sam Cromer
    Nov 8 at 14:13













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am struggling with making a http post call returning JSON in flutter. I keep getting a 500 error and I dont know what the issue is. I need to pass a username and password in the header and I think the issue is how im doing it. Here is the code.



Future<User> LoginUser(String username, String password ) async {
final response =
await http.post('http://xx.xxx.xxx.xxx/api/Login',
headers: {"Content-Type": "application/json", 'email' : username , 'password' : password });
if (response.statusCode == 200) {
// If the call to the server was successful, parse the JSON
return User.fromJson(json.decode(response.body));
} else {
// If that call was not successful, throw an error.
throw Exception('Failed to load user');
}

}


It wont get past the 200 check because it is getting a 500. I cant find any examples with passing 2 parameters in the header and the content type so im not sure im doing that correctly.










share|improve this question













I am struggling with making a http post call returning JSON in flutter. I keep getting a 500 error and I dont know what the issue is. I need to pass a username and password in the header and I think the issue is how im doing it. Here is the code.



Future<User> LoginUser(String username, String password ) async {
final response =
await http.post('http://xx.xxx.xxx.xxx/api/Login',
headers: {"Content-Type": "application/json", 'email' : username , 'password' : password });
if (response.statusCode == 200) {
// If the call to the server was successful, parse the JSON
return User.fromJson(json.decode(response.body));
} else {
// If that call was not successful, throw an error.
throw Exception('Failed to load user');
}

}


It wont get past the 200 check because it is getting a 500. I cant find any examples with passing 2 parameters in the header and the content type so im not sure im doing that correctly.







dart flutter






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 7 at 20:22









Sam Cromer

515




515








  • 1




    It would be extremely unusual to send credentials as HTTP headers. Additionally, you are setting the request content type to application/json, but then not including any content! Are you sure the credentials aren't meant to go in the post form or body?
    – Richard Heap
    Nov 8 at 0:05










  • that appears to be the issue. The credentials are supposed to be in the body.
    – Sam Cromer
    Nov 8 at 14:13














  • 1




    It would be extremely unusual to send credentials as HTTP headers. Additionally, you are setting the request content type to application/json, but then not including any content! Are you sure the credentials aren't meant to go in the post form or body?
    – Richard Heap
    Nov 8 at 0:05










  • that appears to be the issue. The credentials are supposed to be in the body.
    – Sam Cromer
    Nov 8 at 14:13








1




1




It would be extremely unusual to send credentials as HTTP headers. Additionally, you are setting the request content type to application/json, but then not including any content! Are you sure the credentials aren't meant to go in the post form or body?
– Richard Heap
Nov 8 at 0:05




It would be extremely unusual to send credentials as HTTP headers. Additionally, you are setting the request content type to application/json, but then not including any content! Are you sure the credentials aren't meant to go in the post form or body?
– Richard Heap
Nov 8 at 0:05












that appears to be the issue. The credentials are supposed to be in the body.
– Sam Cromer
Nov 8 at 14:13




that appears to be the issue. The credentials are supposed to be in the body.
– Sam Cromer
Nov 8 at 14:13

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53197239%2fhttp-post-passing-2-parameters-and-content-type-key-flutter%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53197239%2fhttp-post-passing-2-parameters-and-content-type-key-flutter%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







這個網誌中的熱門文章

Xamarin.form Move up view when keyboard appear

Post-Redirect-Get with Spring WebFlux and Thymeleaf

Anylogic : not able to use stopDelay()