Comments (5)
Just opened a PR which adds the API specific marker interfaces. For backwards compatibility the registration of the SerializerService classes are still there, but internally it will be only retrieved by it's interface.
So it should be possible to mock or replace them e.g. in tests.
We need the marker interfaces as the serialization configuration can be a little bit different and even conflicting between the APIs.
from commercetools-dotnet-core-sdk-v2.
Yes. That's the idea behind it. And for testing purposes you could inject whatever implementation you mark with the interface ;)
from commercetools-dotnet-core-sdk-v2.
We would more likely have to create a marker interface for each of the SerializerService implementations, as they hold specific configurations for the supported API.
But overall yes we are open for supporting a interface instead of a specific implementation
from commercetools-dotnet-core-sdk-v2.
Okay I must say that I don't fully understand the purpose of a marker interface and how and where it is used. But I trust, that you guys know the potential benefits of using it.
So do you think my sugestet idea is any good? Or do you think it should be implemented differently, with the mentioned marker interface? Or not implemented at all?
from commercetools-dotnet-core-sdk-v2.
Hey, perfect! Thank you for the fast implementation. Really appreciate it.
I now understand better what you meant by the marker interfaces. After seeing your changes and implementation.
Just for my understanding:
I now can just use in the DI setup: (when the new version is released)
...
services.UseCommercetoolsApiSerialization();
...
And the use the marker interface in the constructor for example like this:
private readonly IApiSerializerService _serializerService;
public ExampleService(IApiSerializerService serializerService)
{
_serializerService = serializerService;
}
Thank you a lot again :)
from commercetools-dotnet-core-sdk-v2.
Related Issues (20)
- CentPrecisionMoney conversion mismatch HOT 1
- Quotes: quoteState missing from IQuote in commercetools.Sdk.Api.Models.Quotes HOT 3
- MessageSubscription: Breaking change from 5.1 to 5.2? HOT 1
- Question about Serialization/Deserialization of messages HOT 8
- Custom timeouts and retries on HTTP Client HOT 2
- Issue Creating Cart with Custom Line Item with Line-Item Custom Field HOT 1
- No Blazor WASM support HOT 4
- Product exists HEAD call support HOT 1
- Image upload always missing content type HOT 1
- OOTB models in SDK not serializing properly HOT 9
- How to create a HTTP Subscription with Extension Destination HOT 1
- Commercetool HTTP Client not working with Single-file deployment
- Fix Security Vulnerability with System.Text.Encodings.Web HOT 2
- Bypass 409 concurrentmodificationexception and overwrite the resource HOT 1
- LineItems is null but it should not be null. Schema can be outdated HOT 2
- Unable to Add header with IClient HOT 6
- ProductProjectionPagedQueryResponse is Generated with a long Offset while the query only accepts a int32 offset. HOT 2
- Filter categories by subtree HOT 1
- BadRequest On FailedLogin (Wrong username/password) HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from commercetools-dotnet-core-sdk-v2.