refit
refit copied to clipboard
[Bug]: "doesn't look like a Refit interface" when inheriting empty interface from interface with refit function
Describe the bug 🐞
Inheriting an empty interface from a base interface with refit methods causing it to not be detected. Seems like this issue occurs during roselyn code generation because no classes are generated for the derived interface(s)
Step to reproduce
using System;
using System.Threading;
using System.Threading.Tasks;
using Refit;
public interface IBaseService
{
[Get("/resources")]
Task<string> GetResource(string id);
}
public interface IDerivedServiceA : IBaseService
{
}
public class Program
{
public static void Main()
{
var api = RestService.For<IDerivedServiceA>("https://example.com");
Console.WriteLine(api.GetResource("abc"));
}
}
(Tested at https://dotnetfiddle.net/ with refit package installed)
Reproduction repository
No response
Expected behavior
No error about doesn't look like a Refit interface. Provided example should only stumble when trying to do the actual API call because the api doesn't exist
Screenshots 🖼️
No response
IDE
Visual Studio 2022
Operating system
No response
Version
No response
Device
No response
Refit Version
7.0.0
Additional information ℹ️
Probably happens on other (older) versions too. Reproduced it with 7.0.0 in my minimal sample