I've been making a project generated many things from out of the database with HTTP request. This has 3 larger queries into 1 C# class
public IEnumerable<Menu> Menus { get; set; }
public Dictionary<int, Pagina> Paginas { get; set; }
public Dictionary<int, Opmaak> Opmaak { get; set; }
public string Errors { get; set; }
This works like a charm, Main Object
https://i.stack.imgur.com/V7tNj.jpg - HTTP Network Summary
public Main Get()
{
return Main.getAll();
}
This can't return anthing, Same Main Object
https://i.stack.imgur.com/koOfu.jpg - HTTP Network Summary
public Main Get(string username, string password)
{
Login value = new Login(username: username, password: password);
return Main.getAll(value);
}
Question, How do I properly send variables over a HTTP request
Webconfig C#
public static void Register(HttpConfiguration config)
{
EnableCrossSiteRequests(config);
AddRoutes(config);
}
private static void AddRoutes(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{username}/{password}",
defaults: new { username = RouteParameter.Optional, password = RouteParameter.Optional}
);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute(
origins: "http://lvh.me:4200",
headers: "*",
methods: "*");
config.EnableCors(cors);
}
C# Main.cs
public static Main getAll()
{
using (CheckPlusEntities db = new CheckPlusEntities())
{
Main Totaal = new Main();
//Filling Totaal
return Totaal;
}
}
public static Main getAll(Login Login)
{
using (CheckPlusEntities db = new CheckPlusEntities())
{
Main Totaal = new Main();
//Filling Totaal
return Totaal;
}
}
Angular 2 Service
Wrong =
get = {
event: (username:string, password:string): Promise<any> => {
let url = "http://{URL}:8080/CheckPlusApi/api/Main/Get/" + username + "/" + password;
return this._http.get(url)
.map(response => {
return response.json(); // Has a value
},
error => {
this.errorMessage = <any>error
}).toPromise();
}
}
Good =
getTest = {
event: (): Promise<any> => {
return this._http.get('http://{URL}:8080/CheckPlusApi/api/Main/Get')
.map(response => {
return response.json();
},
error => {
this.errorMessage = <any>error
}).toPromise();
}
};