をデシリアライズ、クラスをネストされました。次のように活字体は、次のように私はCSHARPクラスを持っているJSON
APIメソッドは、次のとおり
public interface IRepository<T>
{
Task<IEnumerable<T>> GetAll();
Task<T> Get(string id);
Task Add(T item);
Task<DeleteResult> Remove(string id);
//Task<UpdateResult> Update(string id, string body);
Task<UpdateResult> Update(string id, T item);
//// demo interface - full document update
//Task<ReplaceOneResult> UpdateDocument(ObjectId id, string body);
// should be used with high cautious, only in relation with demo setup
Task<DeleteResult> RemoveAll();
}
[Route("api/[controller]")]
public class StrategicPlansController : Controller
{
private readonly IRepository<StrategicPlan> _repository;
public StrategicPlansController(IRepository<StrategicPlan> repository)
{
_repository = repository;
}
// GET: api/StrategicPlan
[HttpGet]
public Task<string> Get()
{
return GetInternal();
}
private async Task<string> GetInternal()
{
var items = await _repository.GetAll();
return JsonConvert.SerializeObject(items);
}
}
public class StrategicPlanRepository : IRepository<StrategicPlan>
{
private readonly MongoContext _context = null;
public StrategicPlanRepository(IOptions<Settings> settings)
{
_context = new MongoContext(settings);
}
public async Task<IEnumerable<StrategicPlan>> GetAll()
{
try
{
return await _context.StrategicPlans.Find(_ => true).ToListAsync();
}
catch (Exception ex)
{
// log or manage the exception
throw ex;
}
}
}
public class MongoContext
{
private readonly IMongoDatabase _database = null;
public MongoContext(IOptions<Settings> settings)
{
var client = new MongoClient(settings.Value.ConnectionString);
if (client != null)
_database = client.GetDatabase(settings.Value.Database);
}
public IMongoCollection<StrategicPlan> StrategicPlans
{
get { return _database.GetCollection<StrategicPlan>("StrategicPlans"); }
}
}
Iは、JSONオブジェクトをサービングasp.netコアウェブAPIアプリケーションを持っています。
私は "ゴール"ネストされたクラスを取得できません。そのネストされたクラス "ターゲット"プロパティは、角度アプリケーションで設定されています。
オブジェクトタイプと思われます。私は価値を得ることができません。
どのように解析できますか?私はMongoDBの、次の試行について十分に知らなかったとして
あなたが意味する、プロパティが設定されていませんか? Web-APIからAPIメソッドのコードを提供していただけますか? – Nikolaus
はい、プロパティは設定されていません。 – Seyfullah
web apiメソッドを追加しました。 – Seyfullah