Тёмный
Nick Chapsas
Nick Chapsas
Nick Chapsas
Подписаться
Hello everybody I’m Nick Chapsas and this is my RU-vid channel.
The Blazor Competitor is Here!
15:08
2 дня назад
Why Developers Hate "Clean Code"?
14:39
14 дней назад
Swagger is Going Away in .NET 9!
10:48
Месяц назад
Lists Are 3 Times SLOWER in .NET 9!
7:17
Месяц назад
"Stop Using LINQ in .NET!"
9:15
Месяц назад
I messed up. I'm sorry.
7:18
2 месяца назад
Комментарии
@dystopiandev
@dystopiandev 23 часа назад
Leaving out the FluentValidation dependency would've made this viable.
@aj0413_
@aj0413_ День назад
The real value of the library is that it introduces well documented conventions and patterns that support industry best practices. Introducing FastEndpoints to a team seems to be good way to help develop a consistently better codebase and removes maintenance of internal libraries and documentation to attain the same effect I’m currently refactoring some projects where the code quality is clearly going off the rails to help steer the ship back to port Edit: it’s funny to me how a bunch of the comments crapping on this library are either speaking in arrogance or just completely missing the point of the library
@eusouodouglas5730
@eusouodouglas5730 День назад
I like it, it's a good alternative to what I'm doing with Carter and Mediatr
@casperhansen826
@casperhansen826 День назад
Way too complicated, all we need is a method with parameter than can return a response
@TheAzerue
@TheAzerue День назад
As an alternative why not GraphQL (HotChocolate) ?
@vitalyglinka466
@vitalyglinka466 День назад
I use this library at work. My colleague is a contributor to the FE and he agitated everyone to use it. In general FE isn't bad. But the more you use it, the more you realize that FE takes too much responsibility besides request handling. E.g. command bus (with several abstractions like ICommandHandler, CommandHandlerBase etc), event bus (where is no general IEventBus interface which you can inject), too many ways of doing one thing, for example, returning a response (why should I bother myself trying to find out whether should I use HandleAsync or ExexuteAsync?), a very strange way of adding errors to response as well. And there's a disaster with the DI in the library. You can't even unit test a method that invokes a command, without writing some crutches to your test set up. And the most important: all issues that you experience while using this library can't be googled. All that you have is official site and discord channel with GitHub.
@mauno525
@mauno525 День назад
Whole video was about the small things you must do, to make simple things work. Sorry, not for me.
@bezi8875
@bezi8875 День назад
Honestly speaking I won't say JS or Ptrhon are good entry languages. My first language (of my personal choice before uni) was C++. In uni they required us to learn C, then C++ and Python, then C# (.NET Framework, WinForms, .NET Core, ASP .NET Core), Java (Java-FX, Android), PHP, Assembly (A51), then more advanced C# or Java (I've chosen C#) and C for microcontrollers. Surprisingly on my uni I've never met JavaScript as required language. I've graduated from faculty of Electrical Engineering (but still in Computer Science) thought. Currently I use mostly C#, Bash and Python.
@impeRAtoR28161621
@impeRAtoR28161621 День назад
How it compares to Ardalis.Endpoints. Seems similar
@cew182
@cew182 День назад
IDK you lost me. I guess I'm just not backend enough anymore. I liked the look of insomnia so I grabbed it to check it out. It turns out they forced their entire user base to switch to cloud storage or be forced to work with the "scratch pad" which is basically garbage. I got nothing but a headache from this video.
@FlorkoAndrew
@FlorkoAndrew День назад
I think you should have pointed out that it's not just an alternative for controllers, it's an alternative for controllers + mediatr
@facephonesy
@facephonesy День назад
I don't understand the trend now of so much separation. A seperayion that make things even more difficult to track and find. It makes much more sense to me to use a controller that handles all the crud operations. I think next year we will be creating a class to write the endpoint name in, another class to specify the method, another class for the function.then we will end up with hundreds of files instead of 1 class 50 lines controller . And just create a mini project with hundred of classes. I find this to be extreme over complicating simple thing to satisfy the trendy urge of being over organized
@davestorm6718
@davestorm6718 День назад
I just began working on my pico-API project. You can chain everything into one line. :)
@ChrisWard74
@ChrisWard74 День назад
I didn't know about this, and it looks very cool. Can it be used for Mongo/Cosmos retries, where the exception tells you how long you should wait before retrying?
@B1aQQ
@B1aQQ День назад
Eh. Looks like controllers, but with one method and some nice-to-haves.
@JasonEspin
@JasonEspin День назад
Not a fan of this approach. Actually seems like a lot more work than a standard controller approach which is tried and tested. I'm also not a fan of minimal apis either. Personally I don't like the "javascriptification" of endpoints and for me there is no reason to change to minimal apis given all the heavy program.cs config you have to do to get them to do what controllers do out of the box. Great video as always though and it's always good to see an alternative option even if it's not my cup of tea.
@devincarlson8866
@devincarlson8866 День назад
I’ve written something similar myself in the past. What I don’t understand is the way they chose to register the pipelines using keys. I would much rather have something like AddHttpClient<TService> where it registers against a service. So, AddResilliencePipeline<TService>(). Maybe it already does this but just wasn’t shown in your example?
@sunefred
@sunefred День назад
What's a slug?
@junior.santana
@junior.santana День назад
A somewhat friendly unique identifier. In his example it's the name of the movie+year. That can be used in the URL instead of the internal ID for example
@sunefred
@sunefred День назад
@@junior.santana Thanks bud!
@alexlo5655
@alexlo5655 День назад
I posted before but forgot to thanks Nick for publishing interesting content here. Thank you, Nick!
@rusektor
@rusektor День назад
Too much ceremony
@henryvaneyk3769
@henryvaneyk3769 День назад
I prefer Controllers with calls to an underlaying service. Keeps all the related routing and URLs for a specific resource or function in one place.
@Dustyy01
@Dustyy01 День назад
you can do the same with minimal apis
@10Totti
@10Totti День назад
I prefere minimal api.
@m057d0p3
@m057d0p3 День назад
all world: just uses handler functions, like `router.Handle("/movies", getMoviesFunc)` .NET devs: hey let's create 15 classes, DI, method overrides to create 1 handler
@duznt-xizt
@duznt-xizt День назад
You are missing the point my friend 😅
@kikinobi
@kikinobi День назад
I was just making a proof of concept using FastEndpoints for my company 😳
@michelnunes4421
@michelnunes4421 День назад
Is there a way to get a class from QueryString like controller? For example, [FromQuery] Parameter param? Last time I checked this lib I couldn't make it work
@T___Brown
@T___Brown День назад
What about openapi / swagger ui? Does it detect the endpoints and return types? Doubtful
@duznt-xizt
@duznt-xizt День назад
Hell yeah it does!
@JSullivan1978
@JSullivan1978 23 часа назад
It has very good NSwag support, with a decent defaults and many extensions for tweaking the output. When using fastendpoints I find the swagger output is way ahead of API's written with Controllers. Controller based api's normally miss documenting how errors are handled since no one makes this a priority.
@mohamadrezanakhleh9644
@mohamadrezanakhleh9644 День назад
yeh. controllers but fancy
@user-yc6mv1bj3b
@user-yc6mv1bj3b День назад
Too much files
@sagadeath
@sagadeath День назад
Just use controllers if you are going to add all that bloatware
@Paul-uo9sv
@Paul-uo9sv День назад
FastEdnpoints free to use?
@kateb1764
@kateb1764 День назад
Yes, it's open source
@lowlandtech
@lowlandtech День назад
if I had a product like dynodb I would bent myself backwards to map it onto the entityframework, asking people to learn such wild new concept is tricky,. I was following and liking it until the aws stuff thats where I checked out mentally. I asked chatgpt to show me the same concept using ef core and postgres, which it did and I got it in 5 seconds.
@kelton5020
@kelton5020 День назад
I'm not sure you explained it, why do you prefer this? It seems like a lot of extra work compared to controllers, is it just due to speed and minimal apis being too minimal?
@evancombs5159
@evancombs5159 День назад
He likes it due to how it improves organization of the project. It works on the concept of low coupling high cohesion. By only having one endpoint per class you only inject the dependencies that matter to that specific endpoint. All of the code that is only relevant to that endpoint can all live in the same location (folder or file). Getting speed benefits by it using minimal APIs as its backing is just the cherry on top. There is an equivalent controllers based project called ApiEndpoints.
@danielmuri7539
@danielmuri7539 День назад
«hellovrybody im naked…»
@alexclark6777
@alexclark6777 День назад
This seems like it has all of the verbosity of Controllers and all of the hackish looking parts of Minimal. Unless this had like a 50% performance boost over them, it's not something I'd use personally.
@modestas3d391
@modestas3d391 День назад
My biased opinion is that plain old controllers had way more elegant param control than this approach. And since you kind of mentioned that this is faster, it would have been nice to see some comparison between the two (just you like you been doing for tons of other content, which is great). I have a doubt that this will become very popular, but still - great initiative and kudos for the authors. Thanks for sharing!
@mikegiroux
@mikegiroux День назад
It seems like most of the people who have negative things to say about Fast Endpoints... haven't tried using Fast Endpoints
@duznt-xizt
@duznt-xizt День назад
Exactly what I was just thinking. I myself cannot ever go back to MVC controllers nor Minimal APIs, after working with Fastendpoints.
@mouradaissani8957
@mouradaissani8957 День назад
how about protected routes? (authentication & authorization)
@rharding1701
@rharding1701 День назад
I have been loving fast-endpoints
@I69420H
@I69420H День назад
minimal api + mediator. = this. Don't have anything bad to say here, someone had an idea and built it. Respect to that. However if you wanted to sell it as "fast" just spin up a listener yourself. Rule(s): Thou cannot undo complexity, you can simply move or hide it. Design around the axis of volatility. A metric used to understand if a piece of software is good or bad? - Does it generally and universally solve for maintainability? if yes then you're progressing and pushing forward, if no you've just built another branch of uncertainty and variance, try again. Luckily I don't make up the rules.
@alexandermercer5363
@alexandermercer5363 День назад
I don't think this has any real use case anymore. It might have had before minimal endpoints were a thing. Emphasis on might. In comparison to minimal endpoints, this seems to take about 10 times as much time, with no discernable upside. And splitting the logic of request and response is not one as that can hella easily be done with minimal endpoints as well, using extensions. It's a cool package and hats off to the devs, but these days, it just seems to exist to solve problems which are no longer there.
@leventegyorgydeak1300
@leventegyorgydeak1300 День назад
I also use this, I love this package
@sakesun
@sakesun День назад
Pointless invention
@tarun-hacker
@tarun-hacker День назад
Congratulations on reinventing "Controllers" in a complex manner!
@maskettaman1488
@maskettaman1488 День назад
There's a significant group of people out there than think making code less organized and structured makes it more complex and therefore more impressive
@salmanpatrick
@salmanpatrick День назад
Forget Controllers and Minimal Apis and use a whole separate file for each endpoint instead? That's so much boilerplate and hassle. Not buying it.
@steffenhvid
@steffenhvid День назад
As i have only been a software dev for 5 years, all i know is "agile" fascilitated by"scrum" it have always felt a bit process intense, but i do not know any alternatives. I am trying to go into business for my self and I would love to hear your take on running dev projects and about the alternatives to scrum.
@bfg5244
@bfg5244 День назад
I suspect as MinAPIs developed, they'll be on par with Fast API. But since its MS it would then have much wider adoption. Remember Nancy?
@baranacikgoz
@baranacikgoz День назад
I use minimal apis along with repr pattern, this thing does not seemm to add value over minimal apis. And also, I wrote a generic endpoint filter to take result object and return the response using Match. So I dont have to write Match..... in every endpoint. I just return a Result object, the endpoin filter do the rest
@nickchapsas
@nickchapsas День назад
You don't need to write Match in every endpoint anyway. That's a thing I am using, it has nothing to do with FastEndpoints
@baranacikgoz
@baranacikgoz День назад
@@nickchapsas yep its non related with fast endpoints I just wanted to point out a practice of my 😂
@EricKing
@EricKing День назад
I'm all for alternatives, but I much prefer minimal APIs in this case. Much less ceremony to achieve basically the same thing.