| name | networking |
| description | Retrofit, OkHttp, REST APIs, JSON serialization, network security. |
| version | 2.0.0 |
| sasmp_version | 1.3.0 |
| bonded_agent | 05-networking |
| bond_type | PRIMARY_BOND |
| atomic | true |
| single_responsibility | HTTP networking & API integration |
| parameters | [object Object] |
| retry | [object Object] |
| logging | [object Object] |
API Integration Skill
Quick Start
Retrofit Setup
interface UserApi {
@GET("/users/{id}")
suspend fun getUser(@Path("id") id: Int): UserDto
@POST("/users")
suspend fun createUser(@Body user: UserDto): UserDto
}
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val api = retrofit.create(UserApi::class.java)
OkHttp Configuration
val client = OkHttpClient.Builder()
.addInterceptor(HttpLoggingInterceptor())
.connectTimeout(30, TimeUnit.SECONDS)
.certificatePinner(CertificatePinner.Builder()
.add("api.example.com", "sha256/...").build())
.build()
Error Handling
sealed class Result<T> {
data class Success<T>(val data: T) : Result<T>()
data class Error<T>(val exception: Exception) : Result<T>()
}
Key Concepts
HTTP Methods
- GET: Fetch data
- POST: Create resource
- PUT/PATCH: Update
- DELETE: Remove
Retrofit Features
- Type-safe interfaces
- Automatic serialization
- Suspend function support
- Error callbacks
Network Security
- HTTPS/TLS enforcement
- SSL pinning
- Certificate validation
- Secure token storage
Best Practices
✅ Use HTTPS always ✅ Implement SSL pinning ✅ Handle errors gracefully ✅ Optimize request/response size ✅ Cache when possible