안녕하세요. httpclient 로 공공포털 api를 불러오려고 합니다.
postman으로는 성공적으로 불러왔는데, 똑같이 dotnet httpclient를 사용해서 불러오면 자꾸 BadRequest가 돌아옵니다…
해당 API를 불러오려고 합니다: 국세청_사업자등록정보 진위확인 및 상태조회 서비스 | 공공데이터포털
코드:
public async Task<bool> Test(
string bNum,
string pName,
string startDate,
string bSector,
string bType)
{
httpClient.BaseAddress = new Uri(_cfb.Host);
var query = new Dictionary<string, string>
{
["serviceKey"] = _configuration["ServiceKey"]
};
var requestUri = QueryHelpers.AddQueryString(_cfb.ValidationUri, query!);
var business = new Dictionary<string,string>
{
["b_no"] = bNum,
["start_dt"] = startDate,
["p_nm"] = pName,
["b_sector"] = bSector,
["b_type"] = bType
};
var data = new Dictionary<string, List<Dictionary<string,string>>>
{
["businesses"] = new List<Dictionary<string, string>>()
{
business
}
};
var jsonData = JsonConvert.SerializeObject(data);
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
var result = await httpClient.PostAsync(requestUri, content);
}
jsonData는 이렇게 나옵니다. ( 공공포털 swagger 또는 postman에서 보내지는 json과 같습니다. )
“{"businesses":[{"b_no":"1234","start_dt":"20210101","p_nm":"홍길동","b_sector":"서비스","b_type":"서비스"}]}”
Badrequset가 돌아오는 이유가 뭘까요 ㅜㅜ… 긴 글 읽어주셔서 감사합니다.