我正在尝试编写代码以使用java Httpurlconnection调用外部服务,并且注意到代码已被复制,但是现在我很困惑是复制代码还是使用大量的if-else块并将所有内容都写在一个地方。
以下是需要调用的方案或服务类型- 1.通过HTTP协议进行基本身份验证的Post / put / get Rest服务 2.通过Https协议进行基本身份验证的Post / put / get Rest服务 3.使用不同的oauth身份验证选项发布/放置/获取服务,这里需要再进行一次获取令牌的调用。 4.肥皂服务具有不同的身份验证方法。
对于不同类型的服务,响应处理逻辑也有所不同。
到目前为止,我为每种方法编写了单独的方法,但是由于它与服务类型紧密相关,因此无法重用。
有人可以为此建议更好的设计方法吗?
答案 0 :(得分:0)
您可以将与API的迭代抽象为一个或多个单独的服务。例如TaskApi
和getTasks()
,sendTask(Task task)
等方法。看一下Retrofit库,它比使用HttpURLConnection
更方便,并且可以帮助您轻松解决身份验证问题。