Azure / Azure/azure-functions-dotnet-worker

HttpTrigger GET parameters not mapped to custom class in .NET 8 and isolated

Open
#2,530 4 comments 0 reactions 0 assignees View on GitHub
area: http area: migration
Dominant language
C#
Stars
466
Forks
215
Avg merge
3d 10h
Merged PRs (30d)
7

Description

### What version of .NET does your existing project use?

.NET 6

### What version of .NET are you attempting to target?

.NET 8

### Description

We are upgrading our .NET 6 in-process function apps to .NET 8 isolated.

In general, upgrade have been fairly easy and doable.
Therefore I was also very surprised when I discovered that our custom PoCo request parameters was always null in our GET HTTPTriggers.

POST works, by adding [Microsoft.Azure.Functions.Worker.Http.FromBody], but GET parameters is not working.

After many hours of research, I was surprised to figure out this was not support!

```
public class DummyPoCo
{
public string Id { get; set; }
public int Skip { get; set; }
public int Take { get; set; }
}

[Function("DummyGet")]
public async Task DummyGet([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "dummy")] DummyPoCo parameters, HttpRequest req, CancellationToken hostCancellationToken)
{
//parameters is always null for GET requests
throw new NotImplementedException();
}
```

This 1 year old post, describes the exact same problem - what use to work out of the box in .NET 6 in-process is not working in .NET 8 and isolated.
https://learn.microsoft.com/en-us/answers/questions/1186948/how-to-get-parameter-binding-in-azure-function-iso

As Microsoft are forcing us to .NET 8 and isolated before end of 2026, this have to be implemented, as I assume a lot of people need this.

I'm sorry, but its simply not good enough to manually have to do this via the HttpRequestData.

So is this something that is on the roadmap - I really hope so :)

### Project configuration and dependencies
```


net8.0
v4
XXX
XXXX
Exe




















PreserveNewest


PreserveNewest
Never

```

### Link to a repository that reproduces the issue

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the DummyGet entry point and the Microsoft.Azure.Functions.Worker.Extensions.Http package references in the project configuration; reproduce the null binding with GET query parameters. Trace the isolated HttpTrigger binding behavior and add coverage for the custom DummyPoCo case. Done means GET values populate Id, Skip, and Take without manual HttpRequestData parsing.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.