Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 97a9616

Browse files
author
Hariharan Subramanian
committed
Converted Answer client to similar response model ✅
1 parent b8bee7c commit 97a9616

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

‎StackExchange.NET/StackExchange.NET/Clients/Answers.cs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using System;
44
using System.Collections.Generic;
55
using System.Web;
6-
using Newtonsoft.Json;
76
using StackExchange.NET.Interfaces;
87
using StackExchange.NET.Models;
98

@@ -14,48 +13,48 @@ namespace StackExchange.NET.Clients
1413
public partial class StackExchangeClient : IAnswers
1514
{
1615
public IAnswers Answers => this;
17-
Answers IAnswers.GetAllAnswers(AnswerFilters filters)
16+
BaseResponse<Answers> IAnswers.GetAllAnswers(AnswerFilters filters)
1817
{
1918
if (filters == null)
2019
throw new ArgumentNullException($"Null is not a valid parameter");
2120
var apiParams = filters.GetQueryParams();
2221
var url = $"{_baseApiUrl}/answers?key={_apiKey}&{apiParams}";
2322
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
24-
var answers = JsonConvert.DeserializeObject<Answers>(response);
25-
return answers;
23+
var apiResult = response.DeserializeJson<Data<Answers>>().ValidateApiResponse();
24+
return apiResult;
2625
}
2726

28-
Answers IAnswers.GetAnswerByIds(List<string> ids, AnswerFilters filters)
27+
BaseResponse<Answers> IAnswers.GetAnswerByIds(List<string> ids, AnswerFilters filters)
2928
{
3029
var apiParams = filters.GetQueryParams();
3130
var url = $"{_baseApiUrl}/answers/";
3231
var idsToEncode = string.Join(";", ids.ToArray());
3332
url = url + $"{HttpUtility.UrlEncode(idsToEncode)}" + $"?key={_apiKey}&{apiParams}";
3433
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
35-
var answers = JsonConvert.DeserializeObject<Answers>(response);
36-
return answers;
34+
var apiResult = response.DeserializeJson<Data<Answers>>().ValidateApiResponse();
35+
return apiResult;
3736
}
3837

39-
Answers IAnswers.GetCommentsByIds(List<string> ids, AnswerFilters filters)
38+
BaseResponse<Answers> IAnswers.GetCommentsByIds(List<string> ids, AnswerFilters filters)
4039
{
4140
var apiParams = filters.GetQueryParams();
4241
var url = $"{_baseApiUrl}/answers/";
4342
var idsToEncode = string.Join(";", ids.ToArray());
4443
url = url + $"{HttpUtility.UrlEncode(idsToEncode)}" + $"/comments?key={_apiKey}&{apiParams}";
4544
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
46-
var answers = JsonConvert.DeserializeObject<Answers>(response);
47-
return answers;
45+
var apiResult = response.DeserializeJson<Data<Answers>>().ValidateApiResponse();
46+
return apiResult;
4847
}
4948

50-
Questions IAnswers.GetQuestionByAnswerIds(List<string> ids, AnswerFilters filters)
49+
BaseResponse<Questions> IAnswers.GetQuestionByAnswerIds(List<string> ids, AnswerFilters filters)
5150
{
5251
var apiParams = filters.GetQueryParams();
5352
var url = $"{_baseApiUrl}/answers/";
5453
var idsToEncode = string.Join(";", ids.ToArray());
5554
url = url + $"{HttpUtility.UrlEncode(idsToEncode)}" + $"/questions?key={_apiKey}&{apiParams}";
5655
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
57-
var questions = JsonConvert.DeserializeObject<Questions>(response);
58-
return questions;
56+
var apiResult = response.DeserializeJson<Data<Questions>>().ValidateApiResponse();
57+
return apiResult;
5958
}
6059

6160
void IAnswers.AcceptAnAnswer(string id, AnswerFilters filters)

‎StackExchange.NET/StackExchange.NET/Interfaces/IAnswers.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ namespace StackExchange.NET.Interfaces
55
{
66
public interface IAnswers
77
{
8-
Answers GetAllAnswers(AnswerFilters filters);
9-
Answers GetAnswerByIds(List<string> ids, AnswerFilters filters);
10-
Answers GetCommentsByIds(List<string> ids, AnswerFilters filters);
11-
Questions GetQuestionByAnswerIds(List<string> ids, AnswerFilters filters);
8+
BaseResponse<Answers> GetAllAnswers(AnswerFilters filters);
9+
BaseResponse<Answers> GetAnswerByIds(List<string> ids, AnswerFilters filters);
10+
BaseResponse<Answers> GetCommentsByIds(List<string> ids, AnswerFilters filters);
11+
BaseResponse<Questions> GetQuestionByAnswerIds(List<string> ids, AnswerFilters filters);
1212
void AcceptAnAnswer(string id, AnswerFilters filters);
1313
void UndoAcceptedAnswer(string id, AnswerFilters filters);
1414
void DeleteAnswer(string id, AnswerFilters filters);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /