Edition 0 Updated to asp. Net core 0



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə168/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   164   165   166   167   168   169   170   171   ...   288
NET-Microservices-Architecture-for-Containerized-NET-Applications

public
class
OrdersController : Controller 

//Additional code...
[
Route
(
""
)] 
[HttpGet] 
[
ProducesResponseType
(
typeof
(IEnumerable), 
(
int
)HttpStatusCode.
OK
)] 
public
async Task 
GetOrders
() 

var
userid = _identityService.
GetUserIdentity
(); 
var
orders = await _orderQueries 
.
GetOrdersFromUserAsync
(Guid.
Parse
(userid)); 
return
Ok
(orders); 



However, the 
ProducesResponseType
attribute cannot use dynamic as a type but requires to use 
explicit types, like the 
OrderSummary
ViewModel DTO, shown in the following example: 
public
class
OrderSummary 

public
int
ordernumber { 
get

set
; } 
public
DateTime date { 
get

set
; } 
public
string
status { 
get

set
; } 
public
double
total { 
get

set
; } 

// or using C# 8 record types:
public
record 
OrderSummary
(
int
ordernumber, DateTime date, 
string
status, 
double
total); 


193 
CHAPTER 6 | Tackle Business Complexity in a Microservice with DDD and CQRS Patterns 
This is another reason why explicit returned types are better than dynamic types, in the long term. 
When using the 
ProducesResponseType
attribute, you can also specify what is the expected outcome 
regarding possible HTTP errors/codes, like 200, 400, etc. 
In the following image, you can see how Swagger UI shows the ResponseType information. 
Figure 7-5. Swagger UI showing response types and possible HTTP status codes from a Web API 
The image shows some example values based on the ViewModel types and the possible HTTP status 
codes that can be returned. 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   164   165   166   167   168   169   170   171   ...   288




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin