ballerina-platform / ballerina-dev-website

Dev version of the ballerina.io website
Apache License 2.0
158 stars 178 forks source link

Add info section to link service BBEs and relevant client BBEs #9289

Open anupama-pathirage opened 1 year ago

anupama-pathirage commented 1 year ago

Description:

Add a info section to REST service - Payload constraint validation BBE to link https://ballerina.io/learn/by-example/http-client-payload-constraint-validation/ client example.

E.g. Something similar to https://ballerina.io/learn/by-example/http-basic-rest-service/

image

This is applicable for some more service and client BBEs. So check all such BBEs.

E.g. https://ballerina.io/learn/by-example/http-path-param/ and https://ballerina.io/learn/by-example/http-client-path-parameter/ https://ballerina.io/learn/by-example/http-query-parameter/ and https://ballerina.io/learn/by-example/http-client-query-parameter/

daneshk commented 3 weeks ago

I went through all HTTP examples and listed the clients and servers linked in them. Most of the examples are linked to the relevant client/server. Some client and server examples are linked multiple times based on relevancy.

Client Server Comment
HTTP client - HTTP/2 Server push HTTP service - HTTP/2 Server push  
HTTP client - HTTP/2 prior knowledge REST service - Basic  
HTTP client - HTTP/2 to HTTP/1.1 downgrade REST service - Basic  
HTTP client - Send request/Receive response HTTP service - HTTP/2 to HTTP/1.1 downgrade  
HTTP service - 100 continue The client implementation is similar to the HTTP client - Header parameter. but we can't use it as we need to send different header values.
HTTP client - Send request/Receive response HTTP service - Access logs  
HTTP client - Enable Caching REST service - Send cache response  
HTTP client - Send request/Receive response HTTP service - Caller object  
HTTP client - Circuit breaker REST service - Basic  
HTTP client - Basic authentication HTTP service - Basic authentication file user store  
HTTP client - Bearer token authentication  
HTTP client - Chunking REST service - Basic  
HTTP client - Payload data binding REST service - Basic  
HTTP client - File upload HTTP service - File upload  
HTTP client - Header parameter REST service - Header parameter  
HTTP client - Mutual SSL HTTP service - Mutual SSL  
HTTP client - OAuth2 client credentials grant type HTTP service - OAuth2  
HTTP client - OAuth2 JWT bearer grant type HTTP service - OAuth2  
HTTP client - OAuth2 password grant type HTTP service - OAuth2  
HTTP client - OAuth2 refresh token grant type HTTP service - OAuth2  
HTTP client - Path parameter REST service - Path parameter  
HTTP client - Payload constraint validation REST service - Payload data binding  
HTTP client - Query parameter REST service - Query parameter  
HTTP client - Redirects HTTP service - Redirects  
HTTP client - Self signed JWT authentication HTTP service - JWT authentication  
HTTP client - Send request/Receive response REST service - Basic  
HTTP client - SSL/TLS HTTP service - SSL/TLS  
  HTTP service - Compression The client implementation is similar to the HTTP client - Header parameter. but we can't use it as we need to send different header value. We may create an example for the client-side configuration. https://central.ballerina.io/ballerina/http/latest#ClientConfiguration
HTTP client - Cookies HTTP service - Cookies  
  HTTP service - CORS (Cross-Origin Resource Sharing) The client implementation is similar to the HTTP client - Header parameter. but we can't use it as we need to send different header values.
HTTP client - Send request/Receive response HTTP service - Error handling  
  HTTP service - Default resource
HTTP client - Failover REST service - Basic  
HTTP client - Send request/Receive response HTTP service - Interceptor error handling  
HTTP client - Load balancer REST service - Basic  
  HTTP service - Matrix parameter @TharmiganK Do we support passing matrix params from the ballerina client?
Basic REST service HTTP service - Passthrough  
HTTP client - Send request/Receive response HTTP service - Request interceptor  
HTTP client - Send request/Receive response HTTP service - Request/Response object  
HTTP client - Request with multiparts    
HTTP client - Send request/Receive response HTTP service - Response interceptor  
  HTTP service - Response with multiparts
  HTTP service - Restrict by media type
HTTP client - Retry REST service - Basic  
HTTP client - Send request/Receive response REST service - Send different status codes  
HTTP client - Send request/Receive response REST service - Send different status codes with payload  
HTTP client - Send request/Receive response HTTP service - Sending header  
HTTP client - Payload data binding REST service - Send response  
  REST service - Service and resource paths This example demonstrates how to define service and resource paths. Hence, we don't need a client code.
HTTP client - Basic authentication HTTP service - Basic authentication LDAP user store  
  HTTP service - Chunking @TharmiganK Can the client example https://ballerina.io/learn/by-example/http-2-to-1-1-downgrade-client/ linked in this server example
HTTP client - Send request/Receive response REST service - Payload data binding  
HTTP client - Send request/Receive response REST service - Payload constraint validation  
HTTP client - Server-sent events HTTP service - Server-sent events  
HTTP client - Timeout REST service - Basic  
  HTTP service - Trace logs This is a pass-through service that calls the Basic service. The client is similar to the Basic client but can't be referred to because the service path is different
daneshk commented 3 weeks ago

Based on the offline discussion I had with Tharmi, we decided to,

I will keep the issue open for next milestone to cater those changes