myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Web-Technologien » *CLOSED* ASP.NET Core kann Controller nicht aufrufen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

*CLOSED* ASP.NET Core kann Controller nicht aufrufen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Olii
myCSharp.de-Mitglied

Dabei seit: 20.09.2017
Beiträge: 51


Olii ist offline

*CLOSED* ASP.NET Core kann Controller nicht aufrufen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo, ich bastel gerade eine kleine API mit GraphQL. Ich habe das Problem das wenn ich ein Request schicke ich zwar, wenn ich ein Haltepunkt mache im Konstruktor des Controllers, dort rein komme, aber die Funktion also der eigentliche Endpoint nicht aufgerufen wird. Ich finde einfach nicht raus woran es liegt. Bei dem Standard Endpoint wenn man eine neue API erstellt, klappt es.

Der Controller

C#-Code:
[Route("graphql")]
    public class GraphQLController : Controller
    {
        public GraphQLController(IDocumentExecuter documentExecuter,ISchema schema)
        {
            _documentExecuter = documentExecuter;
            _schema = schema;
        }

        [HttpPost]
        public async Task<IActionResult> Post([FromBody]GraphQLQuery query)
        {
         //.........
         }
    }

Die Anfrage schicke ich dann über Postmen an den Point:
 http://localhost:5000/graphql

Mit dem Body:

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
{ 
 "query":
  "query{
     category(id:1){
       id 
       name
     }
   }"
}

*EDIT
Hier auch noch die Startup-Datei:

C#-Code:
public void ConfigureServices(IServiceCollection services)
        {
            services.AddScoped<EasyStoreQuery>();
            services.AddTransient<ICategoryRepository, CategoryRepository>();
            services.AddTransient<IProductRepository, ProductRepository>();
            services.AddScoped<IDocumentExecuter, DocumentExecuter>();
            services.AddTransient<CategoryType>();
            services.AddTransient<ProductType>();
            var sp = services.BuildServiceProvider();
            services.AddScoped<ISchema>(_ => new EasyStoreSchema(type => (GraphType) sp.GetService(type)) {Query = sp.GetService<EasyStoreQuery>()});

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }

            //app.UseCors("EnableCORS");
            app.UseHttpsRedirection();
            app.UseMvc();
        }

*EDIT *EDIT
Ich habe heruasgefunden das es

C#-Code:
[FromBody]GraphQLQuery query

In der Funktion liegt. Aber soweit ich das sehe müsste das richtig sein.
Das Model:

C#-Code:
public class GraphQLQuery
    {
        public string OperationName { get; set; }
        public string NamedQuery { get; set; }
        public string Query { get; set; }
        public string Variables { get; set; }
    }

Nehme ich das [FROMBODY] weg dann wird die Funktion aufgerufen, aber die variable ist dann leer ...

Ich versteh einfach nicht wieso die Funktion nicht aufgerufen wird. In meiner Rest API funktioniert das einwandfrei..

Ich danke im voraus schon einmal für Hilfe :)
Gruß Olli

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Olii am 19.05.2019 10:01.

Neuer Beitrag Gestern, 23:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.05.2019 10:29